Qt通过QProcess调用第三方进程

我们在运行Qt程序时,有时需要调用第三方程序,这时就可以用QProcess类。具体如下:

一. 启用进程之前

我们需要在头文件中定义一个私有变量指针,为了使他能长时间运行,定义为指针。

cpp 复制代码
#include <QProcess>
class widget1....
{
private:
    QProcess* pro;
}

在cpp中我们将指针初始化

pro = nullptr;

pro = new QProcess(this);

其实这个时候就可以考虑怎么用了,你可以整个控件的槽函数手动触发,也可以绑定特定的槽函数在特定情况下触发。

然后我们在槽函数中需要创建一个工作目录,

cpp 复制代码
void widget1::mySlot()
{
    pro.setWorkingDirectory("../WORKDIR/");

}

二.启动进程

启动进程主要用start()函数,它启动起来后进程由当前类来管理,当前类析构时,进程关闭。

cpp 复制代码
pro.start("we.exe");

这里只用了exe的名称,这时因为前面我们已经设置了工作目录。

三.销毁进程

销毁进程主要是terminate函数或者kill

cpp 复制代码
pro.terminate();

该进程会被关闭,当然,QProcess还提供了众多的方法供大家选择,如果只是简单管理,这三个就够了,但是要控制何时启动和关闭。

相关推荐
揽星河..10 小时前
【C语言】指针
c语言·开发语言
小小数媒成员10 小时前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
速易达网络11 小时前
Three.js 动画入门教学:从场景搭建到流畅动效
开发语言·javascript·ecmascript
福大大架构师每日一题11 小时前
excelize v2.11.1发布:Go 1.26.0起步,16项安全修复与嵌入对象能力全面升级
开发语言·安全·golang
Sarvartha11 小时前
集合概述 & Collection 接口
开发语言
lhbweilai11 小时前
QT项目(串口助手)
开发语言·qt
eggwyw11 小时前
C++相交链表和反转链表详解
开发语言·c++
Wang's Blog12 小时前
Java 项目实战:交友项目 - 保存访客记录
java·开发语言·交友
Raas10012 小时前
AI网关如何接入?MAI Gateway部署实操教程
java·开发语言·人工智能·gateway·ai网关·mai gateway·企业级产品
小小龙学IT12 小时前
Go 语言 pprof 性能剖析与调优深度解析:把“卡在哪“变成一张可执行的数据图
开发语言·后端·golang