解決單執行緒QT UI 載入進度條實時顯示方案記錄

北冥没有鱼發表於2024-06-25

背景:單執行緒下,進行載入檔案或者其他耗時長的任務時,需要邊進行邊實時顯示進度條。由於單程序原因,直接對QProgressBar 或者其他ui 設值時不能直接在介面上重新整理顯示。

方案:設值後,呼叫QCoreApplication::processEvents(),用於在當前事件迴圈中處理所有當前未處理的事件,允許GUI響應。未防止過多UI事件的觸發引起其他問題,可以使用引數QEventLoop::ExcludeUserInputEvents來過濾使用者輸入事件。eg : QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);

相關文章