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还提供了众多的方法供大家选择,如果只是简单管理,这三个就够了,但是要控制何时启动和关闭。

相关推荐
xieliyu.4 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
CryptoPP5 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫5 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
阳区欠6 小时前
【LangChain】LLM基础介绍
开发语言·python·langchain
Jinkxs7 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链
晨曦中的暮雨8 小时前
Golang速通(Javaer版)
java·开发语言·后端·golang
小小编程路8 小时前
Python 还有容器类型互转、进制转换、字符编码转换
开发语言·windows·python
qeen878 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
CRMEB系统商城8 小时前
CRMEB多商户系统(Java)v2.3公测版发布
java·开发语言·人工智能·小程序·开源·php
动能小子ohhh9 小时前
DocForge平台的设计与开发--文件上传接口的实现
开发语言·人工智能·python·langchain·ocr·fastapi