QThread.run() startet nicht
Verfasst: Donnerstag 21. Juni 2018, 17:15
Hallo,
bei dem nachfolgenden Code wird die run() vom abgeleiteten Thread nur dann aufgerufen, wenn der Slot mit dem Signal "check_completed" verbunden ist. Wird der Thread nur gestartet, kommt es zum Abbruch und dem Fehlercode -1073740791 (0xC0000409). Die Methode run() wird dann gar nicht gestartet. Führe ich den Skript dagegen mit dem Debugger von PyCharm aus, läuft es ohne Probleme. Wo ist hier der Fehler?
bei dem nachfolgenden Code wird die run() vom abgeleiteten Thread nur dann aufgerufen, wenn der Slot mit dem Signal "check_completed" verbunden ist. Wird der Thread nur gestartet, kommt es zum Abbruch und dem Fehlercode -1073740791 (0xC0000409). Die Methode run() wird dann gar nicht gestartet. Führe ich den Skript dagegen mit dem Debugger von PyCharm aus, läuft es ohne Probleme. Wo ist hier der Fehler?
Code: Alles auswählen
class RequestChecker(QtCore.QThread):
check_completed = QtCore.pyqtSignal()
def __init__(self, parent=None):
super().__init__(parent)
def run(self):
print("Simuliere eine Überpüfung ...")
self.sleep(3)
self.check_completed.emit()
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.check()
def check(self):
checker = RequestChecker()
checker.start()
#checker.check_completed.connect(lambda: print("Überprüfung beendet"))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
win = MyWindow()
win.show()
sys.exit(app.exec_())