当前位置: 首页 > article >正文

Qt通过QProcess调用第三方进程

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

一. 启用进程之前

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

#include <QProcess>
class widget1....
{
private:
    QProcess* pro;
}

在cpp中我们将指针初始化

pro = nullptr;

pro = new QProcess(this);

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

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

void widget1::mySlot()
{
    pro.setWorkingDirectory("../WORKDIR/");

}

二.启动进程

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

pro.start("we.exe");

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

三.销毁进程

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

pro.terminate();

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


http://www.kler.cn/a/354729.html

相关文章:

  • 每一款桌面应用都是超级Web浏览器(一)
  • 宏基因组分析软件
  • 热更新解决方案2 —— Lua语法相关知识点
  • spring boot项目日志怎么加?
  • 腾讯六宫格本地识别,本地模型识别,腾讯六图识别
  • ElasticSearch简称ES基础语法使用大全
  • 第11章 索引(postgresql v17)
  • 常用镜像链接
  • Oracle DECODE 丢失时间精度的原因与解决方案
  • 三握四挥的依次顺序到底是什么呢?
  • Redis 哨兵模式下DB库操作审计
  • 你认为BI不需要建模,那就大错特错了
  • 气膜展览馆——汽车展览的新选择—轻空间
  • 【原创】java+ssm+mysql小区物业管理系统设计与实现
  • 基于panda-gym上手stable-baselines3强化学习框架
  • 简单说说 spring 是如何处理循环依赖问题的(源码解析)
  • Unity 2D角色的跳跃与二段跳示例
  • Springboot 整合 Java DL4J 实现物流仓库货物分类
  • 论文翻译 | LARGE LANGUAGE MODELS ARE HUMAN-LEVELPROMPT ENGINEERS
  • 计算机网络自顶向下(4)---应用层HTTP协议