[gelöst] QObject::killTimers Multithreading
Verfasst: 30. März 2009 02:57
Hallo,
ich habe ein MainWindow und daraus starte ich einen zweiten Thread mittels eine Buttons, welcher mir Daten für das MainWindow liefert. Der parallele Thread kommuniziert über Signal-Slots mit dem Hauptthread.
So ziemlich am Anfang erzeugt er eine QSplashscreen, die den User über den Fortschritt auf dem Laufenden hält.
Nachrichten werden über ein Signal printSplashMessage(QString) weitergegeben.
Das ganze habe ich dann im Hauptthread folgendermaßen konnektiert:
Das BlockingQueuedConnection, damit er in dem Parallelthread erst weitergeht, wenn er die Meldung auf dem SplashScreen ausgegeben hat. Ich wollte mir hier keinen Mutex und eine WaitCondition antun.
Allerdings bekomme ich jetzt immer
Kann mir eventuell jemand einen Tipp geben, woher das kommt? Denn ich steige zu diesem Zeitpunkt noch nicht aus dem Programm aus, was Recherchen über Google ergaben.
Danke
Alexander
ich habe ein MainWindow und daraus starte ich einen zweiten Thread mittels eine Buttons, welcher mir Daten für das MainWindow liefert. Der parallele Thread kommuniziert über Signal-Slots mit dem Hauptthread.
So ziemlich am Anfang erzeugt er eine QSplashscreen, die den User über den Fortschritt auf dem Laufenden hält.
Nachrichten werden über ein Signal printSplashMessage(QString) weitergegeben.
Das ganze habe ich dann im Hauptthread folgendermaßen konnektiert:
Code: Alles auswählen
connect(&threadHLA, SIGNAL(printSplashMessage(QString)), mainWin, SLOT(printSplashMessage(QString)), Qt::BlockingQueuedConnection);Allerdings bekomme ich jetzt immer
Code: Alles auswählen
QObject::killTimers: timers cannot be stopped from another threadDanke
Alexander