Interne Funktion asynchron starten
Verfasst: 17. Juli 2011 13:20
Morgen, hänge gerade etwas.
Bei dem klicken auf einen Button öffnet sich ein externer asynchroner Prozess. So weit so gut.
Mit :
, jedoch möchte ich das vor- und nachdem Aufruf von start(program) einige Berechnungen durchgeführt werden, wonach die externe Funktion nochmal starten soll.
Dachte mir ich erstelle eine interne Funktion, welche selber asynchron gestartet wird aber synchron die externe Funktion abarbeitet.
Dadurch müsste die gui doch weiterhin reaktionsfähig bleiben?
Das Problem ist wie starte ich eine interne Funktion asynchron , ohne das die gui solange einfriert.
Ein Traum wäre asynchron->start(internefunktion()); da hat aber QProcess aber was dagegen
lg
ps:ich glaube es geht wenn ich Thread über thread.start() öffne und über run() die QProzess aufrufe, ist aber nicht die eleganteste Lösung...
Bei dem klicken auf einen Button öffnet sich ein externer asynchroner Prozess. So weit so gut.
Mit :
Code: Alles auswählen
QString program = file;
QStringList arguments;
arguments <<argument1<<argument2;
if( asynchron->state() == QProcess::Running ){ui.textEdit_3->setText("Prozess läuft schon!");}else{
asynchron->start(program, arguments);}Dachte mir ich erstelle eine interne Funktion, welche selber asynchron gestartet wird aber synchron die externe Funktion abarbeitet.
Dadurch müsste die gui doch weiterhin reaktionsfähig bleiben?
Das Problem ist wie starte ich eine interne Funktion asynchron , ohne das die gui solange einfriert.
Ein Traum wäre asynchron->start(internefunktion()); da hat aber QProcess aber was dagegen
lg
ps:ich glaube es geht wenn ich Thread über thread.start() öffne und über run() die QProzess aufrufe, ist aber nicht die eleganteste Lösung...