I want to start an external program out of my QT-Programm. The only working solution was:
system("start explorer.exe");
But it is only working for windows and starts a command line for a moment.
Next thing I tried was:
QProcess process;
QString file = QDir::homepath + "file.exe";
process.start(file);
//process.execute(file); //i tried as well
But nothing happened. Any ideas?
If your
process
object is a variable on the stack (e.g. in a method), the code wouldn't work as expected because the process you've already started will be killed in the destructor ofQProcess
, when the method finishes.You should instead allocate the
QProcess
object on the heap like that:QDir::homePath doesn't end with separator. Valid path to your exe
If you want your program to wait while the process is executing, you can use
instead of