Hallo, ich habe zu meinem Thread-Worker-Link zu GUI senden und GUI-Informationen direkt von QThread aktualisieren. Wie hier:Ändern der GUI direkt von Qthread PyQt 5
class Worker(QThread):
def __init__(self, ui):
QThread.__init__(self)
self.running = False
self.ui = ui
def run(self):
self.running = True
while self.running:
info = self.check_info()
rows = len(info)
self.ui.tableWidget.setRowCount(rows)
self.ui.tableWidget.setColumnCount(6)
...
In Haupt QMainWindow
i fügen Sie einfach
def __init__(self, parent=None):
.......
self.myworker = Worker(self.ui)
.....
solche Lösung sehr schlecht in PyQt5 ist? Ich bin neu in PyQt. Danke. Wenn meine Lösung schlecht ist, bitte hilf mir, es zu beheben.
Sie sollten die GUI in einem anderen Thread als dem Hauptthread nicht aktualisieren. Sie müssen Signale und Slots verwenden, um die Informationen von den sekundären Threads an den Hauptthread zu senden. – eyllanesc
Was ist 'info'? – eyllanesc
Darf ich irgendwelche Informationen über Signale senden, zum Beispiel eine Liste von Diktaten, die ich durch Ausführen des Threads erhalte? – Hellbea