?
Ritchie schrieb:
Das Problem das entstehen kann, ist einfach dass SIgnals/Slots nicht im neuen Thread, sondern eben im MainThread abgearbeitet werden, und das ist nicht der Sinn eines neuen Threads
Ich dachte mir irgendwie sowas.
Vielleicht werde ich mein Beispielprogramm nochmals dahin gehend ändert.
Danke für die Info.
Sry, noch etwas genauer:
Du hast für deinen Thread die run-Methode überschrieben. Wenn du darin ein "exec()" stehen hast, hat der Thread eine eigene event-loop. Das heißt, dass Objekte, die in diesem Thread erstellt wurden, insbesondere ihre SLOTS im neuen Thread abarbeiten, was den MainThread (entsteht mit QApplication::exec()), der auch für die GUI zuständig ist, entlastet. Hat jetzt dein Thread eigene Slots, die aufgerufen werden, und dein Thread-Objekt wurde aber im MainThread erstellt, hast du ein Problem
Du kannst auch Objekte erstellen und diese mittels QObject::moveToThread() in den neuen Thread verschieben, damit Eventhandling im neuen Thread geschieht.
Les dir da am besten die Doku durch.