MainThread Signal -> QThread Slot

Alles rund um die Programmierung mit Qt
Antworten
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

MainThread Signal -> QThread Slot

Beitrag von DBGTMaster »

Hallo,

ist es möglich, wenn vom MainThread ein bestimmtes Signal kommt, dass dieses Signal der Event- Loop des QThreads ausführt??

Also was ich will:

Wenn Benutzer in der App auf einen bestimmten Button klickt, soll ein Slot im QThread aufgerufen werden.

Verbinde ich vom MainThread einen Slot vom QThread, so stürzt das Programm beim Aufruf des Slots ab.

Wie kann ich das lösen??
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: MainThread Signal -> QThread Slot

Beitrag von Christian81 »

Signals/Slots funktionieren auch über Threadgrenzen hinweg.
Wenn es crasht ists ein Programmierfehler - aber ohne Code bzw. minimalen Beispiel kann man nichts machen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Re: MainThread Signal -> QThread Slot

Beitrag von ScyllaIllciz »

Wie kann ich das lösen??
Ich würde als erstes meinen Debugger mal fragen ;-)
Ansonsten minimales kompilierbares Beispiel1
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Re: MainThread Signal -> QThread Slot

Beitrag von solarix »

Fehlt ein "moveToThread(this) im CTor des QThreads..? Wenn das fehlt, wird der Slot im Kontext des MainThreads ausgeführt.. das muss zwar nicht garantiert zu einem Crash führen, ist aber sicher nicht so wie vom Entwickler erwartet..
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

Re: MainThread Signal -> QThread Slot

Beitrag von DBGTMaster »

Hallo,

wollte ein minimal- kompilierbares Beispiel basteln, nur Problem ist, dieses lässt sich natürlich problemlos kompilieren und ausführen...

Werd dann mal, wenn ich Zeit finde, etwas debuggen müssen :o

// Edit: was hat es zu bedeuten, wenn der Debugger "<unavailable synchronous data>" bei der Variable this schreibt bei der Absturzstelle??
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

Re: MainThread Signal -> QThread Slot

Beitrag von DBGTMaster »

Ok, hab meine Blödheit nun entdeckt :D...

Hatte ein Objekt in einer Methode generiert, dieses aber nicht zurückgegeben, und dann mit dem nicht zurückgegebenen Zeiger auf Methoden zugegriffen, mich wunderts nur, dass das Programm nie früher abgestürzt ist...

Nun ein return eingefügt und jetzt läuft alles :)

lG
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: MainThread Signal -> QThread Slot

Beitrag von franzf »

DBGTMaster hat geschrieben:Nun ein return eingefügt und jetzt läuft alles :)
So etwas sollte aber der Compiler anmeckern! Also immer brav die ganzen Warnings lesen ;)
Antworten