本文主要是介绍QT 随笔 QProcess中waitForFinished的坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章为个人创作,如转载请标注。
当我们执行一个超过30s的动作的时候,int msecs = 30000,那么就会直接finish,像遇到解压文件这种情况并且要等finish时候用解压的文件的时候,就会出现问题。
QString sCommandLine = "your command line";
QProcess p;
p.start(sCommandLine);
p.waitForStarted();
p.waitForFinished(); //此处其实是有一个缺省参数的, int msecs = 30000 此处也可能会遇到坑
p.close();
如何解决
QString sCommandLine = "your command line";
QProcess p;
p.start(sCommandLine);
p.waitForStarted(-1);
p.waitForFinished(-1); //-1的意思就是等待你的事件真的结束
p.close();
这篇关于QT 随笔 QProcess中waitForFinished的坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!