QProcess与外部程序的调用(可以通过设置管道来交互)

本文详细介绍了如何在Qt中使用QProcess启动外部程序,包括一体式和分离式启动方法,设置程序路径和参数,以及如何进行读写交互。QProcess作为QIODevice的子类,允许通过读写通道与外部程序通信,同时提供了同步API用于阻塞等待程序状态变化。
摘要由CSDN通过智能技术生成

目录

启动外部程序的两种方式:

启动之前需要做的工作

启动状态

QProcess 与 QIODevice

 交互

Synchronous Process API (同步进程API)


启动外部程序的两种方式:

       1)一体式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)
外部程序启动后,将随主程序的退出而退出。
   2)分离式:void QProcess::startDetached(const QString & program, const QStringList & arguments, const QString & workingDirectory = QString(), qint64 * pid = 0)
外部程序启动后,当主程序退出时并不退出,而是继续运行。

    值得注意的是,当程序路径中含有空格的时候,仅设置程序路径program是无法被识别的,解决方法是再将程序路径传递给arguments。

例如:

//1-不带空格,可以启动
process->start("F:/AppInst/115/115com/115com.exe");
//2-带空格,无法启动
process->start("C:/Program Files/HaoZip/HaoZip.exe");
//3-带空格,使用带参模式,可以启动
process->start("C:/Program Files/HaoZip/HaoZip.exe", QStringList("C:/Program Files/HaoZip/HaoZip.exe"));
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值