qt提供了乙個qprocess類用於啟動外部程式並與之通訊。這個類是非同步工作的,而且在後台執行,這樣使用者介面就可以始終保持響應。
qprocess::start()與qprocess::execute()都能完成啟動外部程式的任務,二者有什麼區別呢?區別在於start()是非阻塞的,而execute()是阻塞的。專業點講,execute()=start()+waitforfinished()。
//3、執行tar指令qprocess ptar;
qstring program = "tartool";
qstringlist arguments;
qstring sourcedir = armfilename;//+"/*";
sourcedir = qdir::tonativeseparators(sourcedir);
targetdirname = qdir::tonativeseparators(targetdirname);
qstring showtar = arguments.join(" ");
showmsg("執行[tartool "+showtar+"]");
//執行
//qdir::setcurrent(armfilename);
int res = ptar.execute(program,arguments);
if(!res)
ptar.close();
在Qt中使用sleep
在qt中使用sleep 關於sleep函式,我們先來看一下他的作用 sleep函式是使呼叫sleep函式的執行緒休眠,執行緒主動放棄時間片。當經過指定的時間間隔後,再啟動執行緒,繼續執行 sleep函式並不能起到定時的作用,主要作用是延時。在一些多執行緒中可能會看到sleep 0 其主要目的是讓出時...
在QT中使用sqlite
sqlite sql 是一款開源輕量級的資料庫軟體,不需要server,可以整合在其他軟體中,非常適合嵌入式系統。qt5以上版本可以直接使用sqlite qt自帶驅動 引入sql模組 在qt專案檔案 pro檔案 中,加入sql模組 qt sql include include include檢查連線...
在Qt中使用中文路徑
在qt中字串預設使用latin 1編碼,不支援中文,需要轉化成支援中文的格式,如gbk等。使用qtextcodec可以設定qt使用的字元編碼。qtextcodec codec qtextcodec codecforname gbk qtextcodec setcodecforlocale codec...