Kommunikation mit und zurück von einem Thread
Verfasst: Freitag 14. November 2014, 20:14
Hallo,
wie kann ich vernünftig mit einem Thread kommunizieren, so dass Benutzernachfragen verarbeitet werden?
Ein Beispiel:
Hauptprogramm läuft, im Hintergrund macht ein Thread irgendetwas. Während des Ablaufs gibt es ein Problem, zu dem der Benutzer gefragt werden soll. Der Benutzer bekommt einen Fragedialog zu Gesicht und drückt auf Ja oder Nein. Anschließend macht der Thread je nach Antwort weiter.
Also ich habe es jetzt wohl so verstanden, dass man da eine Eventloop in den Thread reinschreiben muss. Nur wie genau mache ich die Kommunikation und wie kann ich weitermachen? Das ist mir nicht so ganz eindeutig.
Ich habe jetzt mal als Test folgendes geschrieben:
Aber wie genau würde ich da jetzt die Antwort-Verarbeitung einbauen? Ich muss einen Slot erstellen, denke ich. Der soll dann die Eventloop wieder beenden, oder wie genau geht das?
Ich bedanke mich schon einmal herzlich
wie kann ich vernünftig mit einem Thread kommunizieren, so dass Benutzernachfragen verarbeitet werden?
Ein Beispiel:
Hauptprogramm läuft, im Hintergrund macht ein Thread irgendetwas. Während des Ablaufs gibt es ein Problem, zu dem der Benutzer gefragt werden soll. Der Benutzer bekommt einen Fragedialog zu Gesicht und drückt auf Ja oder Nein. Anschließend macht der Thread je nach Antwort weiter.
Also ich habe es jetzt wohl so verstanden, dass man da eine Eventloop in den Thread reinschreiben muss. Nur wie genau mache ich die Kommunikation und wie kann ich weitermachen? Das ist mir nicht so ganz eindeutig.
Ich habe jetzt mal als Test folgendes geschrieben:
Code: Alles auswählen
class TestThread(QtCore.QThread):
ask_question = QtCore.pyqtSignal()
def __init__(self, parent=None):
super().__init__(parent)
def run(self):
print("Starte Eventloop")
time.sleep(10)
self.ask_question.emit()
self.exec_()
Ich bedanke mich schon einmal herzlich
