[Qt 3] Warten auf Slot
-
Hallo,
ich habe folgendes Problem:
Ich benutze QProcess um einen Prozess aufzuführen. Wenn der User in einem angezeigten Warte-Dialog auf Cancel klickt, wird tryTerminate aufgerufen. Der entsprechende Prozess reagiert auch auf das SIGTERM und beendet sich vernünftig. Nun möchte ich aber aber darauf warten, dass der processExited Slot getriggert wird und dann die Ausführung fortsetzen. Da ich das ganze aus synchronem Code ohne Qt aufrufe, gibt es leider keinen anderen Weg für mich.
Wie kann ich das am Besten lösen? Threads kann ich hierfür leider nicht benutzen. Also wird es also eine Lösung in der Art einer zweiten Message-Loop?
Viele Grüße
-
Im ersten Moment käme mir die Idee einer Lock-Variablen, die Du vor Benutzung initialisierst, in der Slot-Prozedur umsetzt und in einer Schleife überprüfst.
Pseudocode:
int lock = 0; ... myslotfunc() { lock = 1; } ... workfunc() { ... connect(myslot()); StarteMyQProcess(); while(!lock) { // Schlafe, warte, ... } }
Kann man sicherlich noch schöner machen. Nur so als Idee.