Heim > Artikel > Backend-Entwicklung > Wie kann ich Daten sicher zwischen dem Hauptfenster und einem Thread in PyQt kommunizieren?
Kommunikation von Daten zwischen dem Hauptfenster und einem Thread in PyQt
In PyQt-Anwendungen besteht ein häufiges Szenario darin, Daten zwischen dem Hauptfenster und einem zu teilen Faden unter Beibehaltung der Fadensicherheit. Hier sind die empfohlenen Ansätze:
Signale und Slots:
Beispiel:
<code class="python">class Worker(QtCore.QThread): beep = QtCore.pyqtSignal(int) def __init__(self, sleep_time): super(Worker, self).__init__() self.sleep_time = sleep_time def run(self): i = 0 while True: i += 1 self.beep.emit(i) time.sleep(self.sleep_time) class MainWindow(QtGui.QWidget): def __init__(self): # ... self.worker = Worker(1) # Initial sleep time self.worker.beep.connect(self.update) self.worker.start() def update(self, number): # Update widget with number self.output.display(number)</code>
Vorbehalte:
Andere Ansätze:
Das obige ist der detaillierte Inhalt vonWie kann ich Daten sicher zwischen dem Hauptfenster und einem Thread in PyQt kommunizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!