QT 在qt中使用QProcess類執行tar指令

2022-05-31 14:15:12 字數 726 閱讀 4065

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...