001
25.09.2004, 02:01 Uhr
typecast
aka loddab (Operator)
|
Ich fuerchte das Qt da keine Moeglichkeit bietet sowas zu machen.
Ich fuerchte du musst da ein wenig tricksen. Versuch mal deine run() Methode so umzuschreiben, dass sie sich periodisch schlafen legt wenn eine bestimmte Variable gesetzt ist und nach ablauf der Zeit schaut, ob die Variable noch gesetzt ist.
Setzen kannst du die Variable dann zum Beispiel ueber ein SIGNAL von dem Prozess aus, der den Thread stoppen/wieder anlaufen lassen soll.
Ich wuerde versuchen dem Thread einen SLOT mitzugeben ueber den man den Thread immer wieder fuer kurze Zeit schalfen legt:
C++: |
void myThread::goSleep() { while (should_sleep){ usleep(10); } }
|
should_sleep dann einfach in einem anderen SLOT auf false setzen.
Ob das aber funktioniert kann ich leider nicht sagen. Ich musste selber noch nie die QThreads von Qt einsetzen. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925) |