QT调用外部exe(QProcess)

QProcess类

QProcess可用于完成外部程序的调用,并与之交互通信。

具体实现:

QProcess process(this);
QString str ="../a.exe";//加可执行文件路径
//方法1
process.start(str);//启动可执行文件 
//方法2
process.startDetached(str);//启动可执行文件 

区别

启动外部程序的两种方式:
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);
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Qt是一个开发框架,它提供了丰富的功能和工具来开发各种类型的应用程序。其中,调用外部exe方法也是Qt中的一个常见需求。 要在Qt调用外部exe方法,可以使用QProcess类。QProcess类提供了一种在新进程中执行外部程序的能力。以下是一个示例代码: ``` #include <QCoreApplication> #include <QProcess> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QProcess process; QString program = "外部exe的路径"; // 外部exe的路径 QStringList arguments; // 传递给外部exe的参数 arguments << "参数1" << "参数2"; process.start(program, arguments); // 启动外部exe process.waitForFinished(); // 等待外部exe完成 QString output = process.readAllStandardOutput(); // 读取外部exe的输出 QString error = process.readAllStandardError(); // 读取外部exe的错误信息 return a.exec(); } ``` 在这个示例中,首先创建了一个QProcess对象,然后设置了外部exe的路径和参数。接着使用start方法来启动外部exe,并使用waitForFinished方法等待外部exe完成执行。最后,通过readAllStandardOutput和readAllStandardError方法读取外部exe的输出和错误信息。 需要注意的是,如果外部exe需要用户输入,可以使用write方法来向外部exe发送输入。另外,QProcess还提供了其他一些方法和信号,用于处理和监控外部exe的执行过程。 总结起来,在Qt调用外部exe方法可以使用QProcess类,通过设置外部exe的路径和参数,启动外部exe,等待其完成执行,并读取输出和错误信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Minuw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值