我正在使用qtcreator在Qt中制作一个C ++ GUI程序尚未完成,但是当我构建并运行以测试它运行的程序时,如果我单击按钮打开文件或在文件中写入内容,按钮那样做,然后程序冻结。为什么会这样,我做错了什么或问题是什么。
它主要冻结了这两个功能:
void MainWindow::on_kmpOpenButton_clicked()
{
QString kmplayerloc = "\"F:\\Program Files\\The KMPlayer\\KMPlayer.exe\"";
QProcess::execute(kmplayerloc);
}
void MainWindow::on_nbopenbutton_clicked()
{
// Remember tha if you have to insert " in a string \"....location of file or anything u want to put.......\"
QString netbeansloc = "\"F:\\Program Files\\NetBeans 7.4\\bin\\netbeans.exe\"";
QProcess::execute(netbeansloc);
}
答案 0 :(得分:4)
以新的方式启动程序程序 [..] 进程,等待它完成,然后返回的退出代码 过程
调用线程冻结,直到外部进程完成。如果您不想这样做,请使用方法start
或startDetached
。