Qt中针对比较耗时的工作防止界面假死的处理方式

Qt中对于一些比较耗时的工作,如下载数据的同步操作,可能会使主线程处于等待状态,导致界面假死,针对此种情况,我们可以使用一个定时器和人工进行事件循环代码如下:

m_nTimerID = startTimer(500);

 while (!m_bFileDownloaded)     
 {         
  QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
 }    

使用Timer进行一个超时处理,如果超过0.5S则算作超时退出

你可能感兴趣的:(Qt中针对比较耗时的工作防止界面假死的处理方式)