QProcess 啟動外部程式
阿新 • • 發佈:2019-02-20
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" );