[Gelöst]Verständnisfrage QThread
Verfasst: 25. November 2009 20:28
Hey Community,
Habe folgende Verständnisfrage:
Für eine Rechenintensive Funktion lager ich diese in ein Thread aus damit die Gui bedienbar bleibt.
Die Klasse von der aus dieser Thread aufgerufen wird soll an dieser Stelle warten bis die die Rechenoperation im Thread beendet wird.
1. Das bewirkt man ja mit exec() am Schluss in der run() Methode der abgeleiteten Thread Klasse und das aufrufen dieser mit run()?
In dem Thread sollen auch Werte an die ProzessBar übergeben werden
2. Das erledige ich mit der Übergabe eines Zeigers der ProzessBar mittels Parameter der run() Methode?
Ich bin mir nicht sicher wie ich die Dinge richtig angehe. Mein jetziger Ansatz startet den Thread und wartet auf das ende dessen. Jedoch bleibt die Gui nicht bedienbar
Thread cpp
Main cpp
Habe folgende Verständnisfrage:
Für eine Rechenintensive Funktion lager ich diese in ein Thread aus damit die Gui bedienbar bleibt.
Die Klasse von der aus dieser Thread aufgerufen wird soll an dieser Stelle warten bis die die Rechenoperation im Thread beendet wird.
1. Das bewirkt man ja mit exec() am Schluss in der run() Methode der abgeleiteten Thread Klasse und das aufrufen dieser mit run()?
In dem Thread sollen auch Werte an die ProzessBar übergeben werden
2. Das erledige ich mit der Übergabe eines Zeigers der ProzessBar mittels Parameter der run() Methode?
Ich bin mir nicht sicher wie ich die Dinge richtig angehe. Mein jetziger Ansatz startet den Thread und wartet auf das ende dessen. Jedoch bleibt die Gui nicht bedienbar
Thread cpp
Code: Alles auswählen
void ProzessThread::run(ProcessBar &dialogProcessBar){
ANWEISUNGEN
exec();
}
Code: Alles auswählen
dialogProcessBar.show();
ProzessThread *thread1 = new ProzessThread;
thread1->run(dialogProcessBar);