1. 堵塞运行

QProcess process;
process.execute( "sub.exe", params );
process.waitForFinished();

 execute 方法以堵塞方式执行程序,直到程序退出。

 

2. 异步运行

process.start( "sub.exe", params );

start 方法单独启动一个进程,hdbwrite命令位于系统环境变量中。 

 

3. 程序路径

有时要执行一个单独的小程序,不想配置至系统环境变量,怎么办?

如程序目录:



| -- test | | | | -- main.exe | | -- subdir | | -- sub.exe |



 

方法一:

把subdir内容全部放至test主目录下,直接可通过以下代码启动。

process.start( "sub.exe" );

 

方法二:

所有程序放在一个目录,强迫症的童鞋可接受不了。可设置程序工作目录启动程序。

process.setWorkingDirectory( "./subdir" );
process.start( QApplication::applicationDirPath() + "subdir/sub.exe" );