1. 啟動外部程式的兩種方式:
(1) 一體式:void start()外部程式啟動後,將隨主程式的退出而退出;
(2) 分離式:void startdetached()外部程式啟動後,當主程式退出時並不退出。而是繼續執行。
2. 當程式路徑中含有空格的時候,特別是windows系統該程式路徑會無法被識別。
解決方法是將程式路徑傳遞給arguments引數。
3. 阻塞的函式,呼叫會可能介面停止響應,在互動性比較強的應用需要注意使用。
/* 堵塞。直到外部程式啟動 */
bool waitforstarted(int msecs = 30000)
/* 堵塞,直到輸出通道中的新資料可讀 */
bool waitforreadyread(int msecs = 30000)
/* 堵塞,直到輸入通道中的資料被寫 */
bool waitforbyteswritten(int msecs = 30000)
/* 堵塞,直到外部程式結束 */
bool waitforfinished(int msecs = 30000)
4. 管道命令的正確使用方法
正確實現使用setstandardoutputproces介面:
/* command1 | command2 */
qprocess process1;
qprocess process2;
process1.setstandardoutputprocess(&process2);
process1.start("command1");
process2.start("command2");
5. 捕獲輸出
(1) 標準輸出
qbytearray readallstandardoutput()
(2) 標準錯誤
qbytearray readallstandarderror()
一些小知識
1.答 int elev 10 0.5 10 3答 arctoolbox中有直接的工具!data management tools features feature to polygon 4如何用arcgis實現指定範圍的dem水平切面 主要是想實現dem和水面結合的三維效果 但如何計算水面範圍 答...
Oracle一些小知識
1 select from table name for update 和 select t.t.rowid from table name t的區別 二者都可以編輯表資料,但是前者會鎖表,後者則不會。原理且不深究,當我們修改某一行資料時,如果不想鎖表就是用後者。2 邏輯判斷 select 1 fr...
python一些小知識
1 python連線mssql資料庫編碼問題 python一直對中文支援的不好,最近老遇到編碼問題,而且幾乎沒有通用的方案來解決這個問題,但是對常見的方法都試過之後,發現還是可以解決的,下面總結了常用的支援中文的編碼問題 這些方法中可能其中乙個就能解決問題,也可能是多個組合 1 首先,要保證檔案的開...