QT调用外部程序

QT调用外部程序,第1张

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、第三种虽然不会阻塞,但是有可能在终端上看不到打印出来的信息。所以要在终端显示信息,可以考陵慧燃虑阻塞模式。

#include<Qprocess>

void MainWindow2::program() //打开外部程序

{

    this->hide()  /枯凯/隐藏型薯当前界面

    QProcess::execute("……\\xx.exe")   //外部没租唤程序所在路径

}

qt另一个程序正在使用此文件,进程无法访问辩卖原因是在 *** 作这个仿基文件的时候,这个文件已经被其他的进程占用了。是IO没关掉的原因。解决步骤:

1、打开资源管理器携大逗性能里面打开资源监视器。

2、在cpu中找有被占用的文件,点结束进程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12245499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存