Qt启用外部程序和关闭外部程序

Posted Geek.Fan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt启用外部程序和关闭外部程序相关的知识,希望对你有一定的参考价值。

    在我们的多方合做的项目中,经常会遇到需要调用第三方外部程序。在Qt中提供了QProcess类,可以用来启动和关闭外部程序,并与之通讯。QProcess继承于QIODevice,因此,我们可以把它当作是一个I/O设备进行读写操作。

    具体用法:

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)

3.实际调用:

      process->start("D:/mypro/data/Rose.exe");

      QProcess::start()和QProcess::execute()都能完成启动外部程序的任务,但是区别很大,start()是非阻塞的,而execute()是阻塞的。execute()=start()+waitforFinished()。


以上是关于Qt启用外部程序和关闭外部程序的主要内容,如果未能解决你的问题,请参考以下文章

Qt技巧:QProcess与外部程序的调用

Qt如何打开和结束外部程序

QT 启动与关闭外部程序

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

定时启动指定程序工具

如何从 Spring Boot 应用程序调用外部 JWT API 服务 [关闭]