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.

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
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
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))