Qt开发:打开外部程序

Qt打开外部程序

//1.通过调用系统函数
system("opt/myApp"); //这是linux下的,windows下可以用WinExec等函数

//2.通过QProcess,阻塞调用
QProcess::execute("/opt/myApp"); //绝对路径和相对路径都可以,windows下要带exe后缀,系统应用如记事本notepad可直接输入打开

//3.通过QProcess,非阻塞调用
QProcess *pro = new QProcess;
pro->start("/opt/myApp");<strong><span style="font-size:18px;">
</span></strong>

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

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

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

4. 第三种方法可以加入启动参数,详见qt文档。


你可能感兴趣的:(qt)