QT GUI界面假死的處理

在GUI程序中,主線程也叫GUI線程,因爲它是唯一被允許執行GUI相關操作的線程。對於一些耗時的操作,如果放在主線程中,就是出現界面無法響應的問題。這種問題的解決一種方式是,把這些耗時操作放到次線程中,還有一種比較簡單的方法:在處理耗時操作中頻繁調用QApplication::processEvents()。這個函數告訴Qt去處理那些還沒有被處理的各類事件,然後再把控制權返還給調用者。

#include <QElapsedTimer>

QElapsedTimer et;
et.start();
while(et.elapsed()<300)
    QCoreApplication::processEvents();
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章