gpt4 book ai didi

c++ - 关于 QCoreApplication 和 QProcess

转载 作者:太空宇宙 更新时间:2023-11-04 11:42:40 25 4
gpt4 key购买 nike

我正在编写一个 QCoreApplication,它应该通过 Qprocess 创建一个外部进程。

我刚刚注意到,即使在事件处理程序执行之前调用了 waitForStarted() 并且进程状态为 Running,外部进程 在 QCoreApplication 上调用 exec() 方法之前不会启动

也就是说,是否可以将例程的执行推迟到事件处理开始(在其中实例化 QProcess),或者唯一可行的方法是创建一次性 QTimer?

最佳答案

经过简短的调查后,出现了方法QCoreApplication::processEvents(),它处理调用线程的所有未决事件。在下面的代码中

int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);

QProcess abc(....);
abc.start(...);

app.processEvents();

//////////////////////////////////////////////////////
// is the process really running ? //
//////////////////////////////////////////////////////

return app.exec();
}

is-the-process-really-running 部分需要这样的方法,以让它找到正在运行的 abc 进程.否则 abc 将在事件循环处理开始事件时启动。

关于c++ - 关于 QCoreApplication 和 QProcess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/268011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com