QT调用外部程序

Posted

tags:

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

参考技术A 1、通过调用Linux C 函数

    system("calc.exe");

2、通过QProcess 阻塞调用

    QProcess::execute("calc.exe");/QProcess::startDetached("calc.exe");

3、通过QProcess,非阻塞调用

    QProcess *pro = new QProcess;

    pro->start("calc.exe");

注释:

1、前两种方法会阻塞进程,直到计算器程序结束,而第三种方法则不会阻塞进程,可以多任务运行。

2、QT在运行的时候,要启动qws服务,如果用前两种方法,运行的时候,要新开启一个qws,否则不能运行;而第三种方法,则不需要在开启qws,他和主进程公用一个qws。

3、第三种虽然不会阻塞,但是有可能在终端上看不到打印出来的信息。所以要在终端显示信息,可以考虑阻塞模式。

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

qt调用外部exe程序并且将exe程序一起打包

QT下的QProcess调用外部程序

从 Android 上的 Qt 应用程序通过(显式)意图调用外部活动 - putExtra 不起作用

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

Python调用外部程序问题?

当从外部对象调用方法时,qt 的 gui 线程是不是会在后台生成线程?