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