Qt Execute external program

前端 未结 4 831
感动是毒
感动是毒 2020-12-08 19:53

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 wo

4条回答
  •  难免孤独
    2020-12-08 20:52

    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 of QProcess, when the method finishes.

    void MyClass::myMethod()
    {
        QProcess process;
        QString file = QDir::homepath + "file.exe";
        process.start(file);
    }
    

    You should instead allocate the QProcess object on the heap like that:

    QProcess *process = new QProcess(this);
    QString file = QDir::homepath + "/file.exe";
    process->start(file);
    

提交回复
热议问题