QT 调用外部程序
2014-10-16 19:21
429 查看
/article/1415158.html
QT调用外部程序有下面几种方法:
[cpp]
view plaincopyprint?
//1.通过调用linux C 函数 system("opt/myApp"); //2.通过QProcess,阻塞调用 QProcess::execute("/opt/myApp"); //3.通过QProcess,非阻塞调用 QProcess *pro = new QProcess; pro->start("/opt/myApp");
第一种方法,是调用linux C函数库中的system(const char *string);
第二 种方法和第三种方法 是调QT里的函数。
需要说明的是:
1. 前两种方法会阻塞进程,直到myApp程序结束,而第三种方法则不会阻塞进程,可以多任务运行。
2. QT在运行的时候,要启动qws服务,如果用前面两种方法,运行的时候,要新开启一个qws,否则不能运行;而用第三种方法,则不需要再开启qws,它和主进程共用一个qws。
3. 第三种方法虽然不会阻塞,但是有可能在终端上看不到打印出来的信息。所以要在终端显示信息时,可以考虑用阻塞模式。
QT调用外部程序有下面几种方法:
[cpp]
view plaincopyprint?
//1.通过调用linux C 函数 system("opt/myApp"); //2.通过QProcess,阻塞调用 QProcess::execute("/opt/myApp"); //3.通过QProcess,非阻塞调用 QProcess *pro = new QProcess; pro->start("/opt/myApp");
//1.通过调用linux C 函数 system("opt/myApp"); //2.通过QProcess,阻塞调用 QProcess::execute("/opt/myApp"); //3.通过QProcess,非阻塞调用 QProcess *pro = new QProcess; pro->start("/opt/myApp");
第一种方法,是调用linux C函数库中的system(const char *string);
第二 种方法和第三种方法 是调QT里的函数。
需要说明的是:
1. 前两种方法会阻塞进程,直到myApp程序结束,而第三种方法则不会阻塞进程,可以多任务运行。
2. QT在运行的时候,要启动qws服务,如果用前面两种方法,运行的时候,要新开启一个qws,否则不能运行;而用第三种方法,则不需要再开启qws,它和主进程共用一个qws。
3. 第三种方法虽然不会阻塞,但是有可能在终端上看不到打印出来的信息。所以要在终端显示信息时,可以考虑用阻塞模式。
相关文章推荐
- QT中调用外部程序的方法 QProcess类
- QT中调用外部程序:QProcess的使用
- QT设置窗口模态 进程调用外部程序和入参
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- 使用Qt打开外部文件,调用外部程序(QDesktopServices,QUrl ,QProcess,QProcess)
- QT中调用外部程序的方法 QProcess类
- Qt技巧:QProcess与外部程序的调用
- QT中调用外部程序的方法 QProcess类
- QT中调用外部程序:QProcess的使用
- QT 调用外部程序
- Qt 在程序中调用外部程序
- QT中调用外部程序的方法 QProcess类
- QT中调用外部程序:QProcess的使用
- QT中调用外部程序的方法 QProcess类
- QT中调用外部程序:QProcess的使用
- QT中调用外部程序:QProcess的使用
- QT 使用QProcess 调用外部程序并截取输出流
- QT 使用QProcess 调用外部程序并截取输出流
- Qt技巧:QProcess与外部程序的调用
- QT中调用外部程序:QProcess的使用