Qprocess必须在main thread 里面启动比较好 http://www.qtcentre.org/threads/26067-Article-How-to-QProcess-in-QThread
QT提供了一个QProcess类用于启动一个外部程序并与之通信。QProcess::start()与QProcess::execute()都能完成启动外部程序的任务,start是非阻塞的,execute是阻塞的。excute相当于是 Start+waitforFinished
同时还有两个差不多的调用外部程序的方法: start()和startDetached()。这两种方式的区别是,start()后的进程与原有进程属于父子进程关系,当父进程退出后,被调起的进程也会结束;而startDetached()会在程序调起完成后,将这两个进程分离开来