如何使用 QProcess 等待子进程?

How to wait child process with QProcess?

我正在尝试使用此代码等待子进程:

auto child = new QProcess;
child->start("cmd.exe");
child->waitForFinished();

但是cmd.exe打不开,主程序运行。错误是什么?

以及我应该如何正确等待? waitForFinished 默认等待 30000 毫秒。如果我想无限等待怎么办?

我建议使用waitForStarted(doc)查看return值是否启动成功,并尝试使用CMD的完整路径:"C:/windows/system32/cmd.exe".

另外,网上查了一下,问题已经有人问了here

要无限等待,您需要使用 -1 (doc) 调用 waitForFinished:

child->waitForFinished(-1);