Qt进程
这篇博客主要关于在Qt中使用进程的相关内容,包含有Qt自带的class类QProcess和使用C语言fork出来的进程,两种创建进程的方式。
QProcess
这里主要包含使用QProcess的启动方式以及同步进程相关的API
启动外部程序分为两种方式:
- 阻塞式 execute()
QProcess *pCaller = new QProcess();
// 阻塞调用 当前窗口处理结束关闭之后 主窗口才能操作
pCaller->execute("/home/gsk/Qt/build-Demo-child1-Desktop_Qt_5_12_3_GCC_64bit-Debug/Demo-child1");
- 非阻塞式 start() 和 startDetached()
QProcess *pCaller = new QProcess();
// 非阻塞调用 当前窗口的执行状态不影响主窗口的操作
pCaller->startDetached("/home/gsk/Qt/build-Demo-child1-Desktop_Qt_5_12_3_GCC_64bit-Debug/Demo-child1", QStringList());
pCaller->start("/home/gsk/Qt/build-Demo-child1-Desktop_Qt_5_12_3_GCC_64bit-Debug/Demo-child1"

本文深入探讨了Qt中进程管理的两种方法:QProcess类和C语言fork函数。详细讲解了QProcess的阻塞式execute()与非阻塞式start()、startDetached()的使用,以及如何获取进程ID。同时,提供了丰富的实例代码,帮助读者理解Qt进程的启动和控制。

7366

被折叠的 条评论
为什么被折叠?



