Bonjour a tous,
Je souhaite afficher les résultats générés par un solveur dans textBrowser Qt5 à l'aide de la méthode append. J'arrive déjà à récupérer la valeur dans une variable et l'afficher à partir d'un print(value) mais quand je fait textBrowser.append(value) je n'ai pas de résultat.
voici le code qui implémente ma vue.
J'ai également essayé d'appeler la méthode receive_signal dans l'initialisation. elle ne m'affiche que le premier résultat et ensuite ... plus rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 from PyQt5.QtWidgets import QMainWindow from PyQt5.QtCore import pyqtSlot from Views.mainwindow import Ui_MainWindow class MainWiew(QMainWindow): def __init__(self,model,controller): super().__init__() self._model = model self._controller = controller self._ui = Ui_MainWindow() self._ui.setupUi(self) #connection of widgets to controller self._ui.pushButton_3.clicked.connect(self._controller.browserSlot) self._ui.pushButton_5.clicked.connect(self._controller.runSlot) self._ui.pushButton_4.clicked.connect(self._controller.exportSlot) self._ui.pushButton_6.clicked.connect(self._controller.stopSlot) self._ui.pushButton.clicked.connect(self._controller.modifySlot) self._ui.pushButton_2.clicked.connect(self._controller.addSlot) # connection of result to receive_signal method self._model.mySignal.connect(self.receive_signal) @pyqtSlot(str) def receive_signal(self,value): self._ui.textBrowser.append(value) #no display here print(value) #able to dispay
En cas de besoin voici le code de mon model :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 from PyQt5.QtCore import QObject, pyqtSignal class Model(QObject): mySignal = pyqtSignal( str ) def __init__(self): super().__init__() self.prog_base = '' self.data = '' self.constraints = '' self.newVal = '' self._list_patterns = [] QObject.__init__(self) #def refresh(self): def mod(self ,m="none"): if str(m) not in self._list_patterns: self._list_patterns.append(m) self.mySignal.emit(str(m))
Partager