`QProcess process;
process.execute("xx.exe");`
这种方法为阻塞模式,即启用的程序退出之后主程序才能被继续执行。
QProcess process;
process.start(“xx.exe”);
这种方式 为 非阻塞模式,当主程序结束之后,外部程序也跟这结束了。
QT代码示例:
void Widget::start_newApp(const QString &appName)
{
qDebug()<< __FUNCTION__<< appName<< " 111 ";
QString fileName_Abs;
fileName_Abs = QApplication::applicationDirPath() + "/" +appName;
if(reStartProcess->isOpen())
{
qDebug()<< __FUNCTION__<< appName<< " will close process ";
reStartProcess->close();
}
reStartProcess->start(fileName_Abs);
//reStartProcess->execute(fileName_Abs);
qDebug()<< __FUNCTION__<< appName<< " 2222 ";
}
m_appNameString= QString(“sysTime.exe”);