解决QProcess运行外部程序阻塞界面

    科技2022-07-10  221

    以下例子QEventLoop可以防止QProcess运行外部程序使得界面阻塞

    QProcess process; process.start(QString(cmd));//执行外部程序 QEventLoop loop; connect(&process,static_cast<void(QProcess::*)(int,QProcess::ExitStatus)>(&QProcess::finished), [=]() { loop.quit(); } ); //loop.exec();//可操作界面 loop.exec(QEventLoop::ExcludeUserInputEvents);//不可操作界面
    Processed: 0.019, SQL: 8