导航:首页 > 编程语言 > qprocess调用外部程序

qprocess调用外部程序

发布时间:2024-07-10 08:53:38

① Qt打开外部程序(界面与程序连接)

#include<Qprocess>

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

{

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

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

}

② qt中如何运行外部程序,QProcess类

QT中使用QProcess启用外部程序 启用外部程序,并可传参,默认第一个参数是exe路径!启动外部程序的方法有以下两种: 1、start()void QProcess::start ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite ) Starts the program program in a new process, passing the command line arguments in arguments. The OpenMode is set to mode. QProcess will immediately enter the Starting state. If the process starts successfully,QProcess will emit started(); otherwise, error() will be emitted.Note that arguments that contain spaces are not passed to the process as separate arguments.Windows: Arguments that contain spaces are wrapped in quotes.Note: Processes are started asynchronously, which means the started() and error() signals may be delayed. Call waitForStarted() to make sure the process has started (or has failed to start) and those signals have been emitted.See also pid(), started(), and waitForStarted(). 2、使用QProcess::execute(), 不过使用此方法时程序会最阻塞直到此方法执行的程序结束后返回,这时候可使用QProcess和QThread这两个类结合使用的方法来处理,以防止在主 线程中调用而导致阻塞的情况 先从QThread继承一个类,重新实现run()函数: 答:1、使用QProcess::startDetached()方法,启动外部程序后立即返回; 2、使用QProcess::execute(),不过使用此方法时程序会最阻塞直到此方法执行的程序结束后返回,这时候可使用QProcess和QThread这两个类结合使用的方法来处理,以防止在主线程中调用而导致阻塞的情况 先从QThread继承一个类,重新实现run()函数:Quote:class MyThread : public QThread{public:void run(); };void MyThread::run(){QProcess::execute("notepad.exe");

③ Qt涓鏈変粈涔堢被鎴栬呭嚱鏁板彲浠ヨ幏鍙栫郴缁熻繘绋嬩俊鎭

QT涓浣跨敤QProcess鍚鐢ㄥ栭儴绋嬪簭鍚鐢ㄥ栭儴绋嬪簭锛屽苟鍙浼犲弬锛岄粯璁ょ涓涓鍙傛暟鏄痚xe璺寰勶紒鍚鍔ㄥ栭儴绋嬪簭鐨勬柟娉曟湁浠ヤ笅涓ょ嶏細1銆乻tart()void QProcess::start ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite )Star...

④ Qt QProcess

本文介绍,在Linux环境下,使用Qt中的 QProcess 类执行shell命令并获取输出。
文件: #include <QProcess>

一、函数接口
QProcess 类提供了三个函数

二、执行命令
这里主要介绍 execute() 和 start() :

execute() 会将命令输出直接打印到控制台,调用程序无法捕获。

调用程序可通过 readAllStandardOutput() 捕获shell命令的输出

三、管 道
对于shell命令中的 | ,直接传入参数是不行的。

以上的方式是无法执行的。
可以将整个命令作为 sh 的参数传入 或 使用 QProcess::setStandardOutputProcess(QProcess *destination) 即将一个进程的标准输出流传入目标进程的标准输入流

对于需要sudo权限的命令,需要使用sudo权限打开qtcreator,或者直接在命令前加上sudo(不建议)。

当然, QProcess 不仅仅可以执雀厅行shell命令旅早,也可以用于执行调拆岁雀用外部程序。

⑤ QT调用外部程序

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

阅读全文

与qprocess调用外部程序相关的资料

热点内容
哪些盘上的文件删除后不进回收站 浏览:705
如何正常下载冈本app 浏览:813
applemusic绑定银行卡 浏览:414
如何根据胎儿检查数据测算体重 浏览:762
苹果4id账号是乱码 浏览:633
不懂编程的人可以做什么 浏览:318
什么网站搜小说最全 浏览:394
婚恋交友网站源码 浏览:873
乐高电脑编程蓝牙块在哪里 浏览:110
黄日华版本天龙八部 浏览:643
winxp怎么给文件加密 浏览:92
安全的网购优惠券app有哪些 浏览:834
五轴联动数控编程如何学 浏览:931
手机qq聊天图片看不了 浏览:408
虚拟币app哪个好 浏览:413
电脑桌面创建文件夹怎么打不开 浏览:825
天天爱消除刷心辅助工具 浏览:177
excel表如何查看文件大小 浏览:775
obd文件 浏览:288
文件打包为什么还附带电脑的内容 浏览:15

友情链接