zoukankan      html  css  js  c++  java
  • Qt打开外部程序的三种方法(两种阻塞,一种不阻塞)

    Qt打开外部程序

    [cpp] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. //1.通过调用系统函数  
    2. system("opt/myApp"); //这是linux下的,windows下可以用WinExec等函数  
    3.   
    4. //2.通过QProcess,阻塞调用  
    5. QProcess::execute("/opt/myApp"); //绝对路径和相对路径都可以,windows下要带exe后缀,系统应用如记事本notepad可直接输入打开  
    6.   
    7. //3.通过QProcess,非阻塞调用  
    8. QProcess *pro = new QProcess;  
    9. pro->start("/opt/myApp");

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

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

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

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

    参考:http://blog.csdn.net/u012234115/article/details/46335219

    -----------------------------------------------------------------------------------

    还有一篇:

    http://blog.csdn.net/seanyxie/article/details/5799714

  • 相关阅读:
    Java 代理模式
    ReentrantLock 详解
    Java线程池详解
    ConcurrentHashMap 解读
    CountDownLatch/CyclicBarrie用法记录
    微信接入笔记记录
    iOS设计模式
    iOS设计模式
    iOS设计模式
    iOS设计模式
  • 原文地址:https://www.cnblogs.com/findumars/p/4722911.html
Copyright © 2011-2022 走看看