QThread in DLL, Signals aus Mainprogram

Alles rund um die Programmierung mit Qt
Antworten
asdbla
Beiträge: 1
Registriert: 15. Juli 2009 11:49

QThread in DLL, Signals aus Mainprogram

Beitrag von asdbla »

Hi,

ich habe ein kleines konzeptuelles Problem.
Ich habe in einer DLL eine Klasse, die in einem eigenen Thread läuft.
Dazu wird von dem Hauptprogramm, welches die DLL einbindet, eine Initfunktion aufgerufen, die die Klasse instanziiert und den Thread startet. Nun würde ich ganz gerne zwischen diesem Thread und dem Hauptprogramm kommunizieren.
Ich habe ein SharedObject, in das beide Seiten Daten schreiben können. Um aber nicht dauernd dieses Objekt pollen zu müssen um eine Zustandsänderung zu sehen hatte ich naiv ersteinmal an Signals und Slots gedacht mit denen ich ein ChangeState signalisieren könnte. Allerdings ist mir dann augefallen, dass der Thread in der DLL gar keine Kenntnis über die Eventloop des Hauptprogramms hat und umgekehrt. Entsprechend werden connects wohl nicht funktionieren.
Gibt es eine Möglichkeit dies trotzdem zu realisieren, indem man dem Thread eine fremde Eventloop gibt oder ähnliches?
Oder habt ihr andere Ideen zur Kommunikation zwischen diesen beiden Threads?

Vielen Dank.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Warum sollte der QThread in der Dll keinen Zugriff auf QCoreApplication haben? Schonmal ausprobiert?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

Du hast Recht.
connect() wird vermutlich nicht funktionieren.
Aber Du kannst Nachrichten vom Thread an die GUI schicken.
Linux, das längste Text-Adventure aller Zeiten
Antworten