频繁主动调用QCoreApplication::processEvents()
https://blog.csdn.net/lixiangmaty/article/details/79452553
https://www.cnblogs.com/findumars/p/5607683.html
UI线程中耗时函数,可能会导致界面假死。
QCoreApplication::processEvents()。该函数的作用是让程序处理那些还没有处理的事件,然后再把使用权返回给调用者
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);//它可以忽略用户的输入(鼠标和键盘事件)。
控制光标显示
QApplication::setOverrideCursor(Qt::WaitCursor);
QApplication::restoreOverrideCursor();
调用 Void QApplication::processEvents() 或 void QApplication::processEvents ( int maxtime ) 来强迫事件循环进行,但是这种做法是有潜在风险的。
按照QCoreApplication:processEvents()可能会引起递归,导致栈溢出崩溃的说法,当主线程在某个槽函数里正在执行processEvents时,
刚好有一个能响应此槽函数的信号发送过(肯定是其他线程发的信号), 这时就可能会发生可怕的递归, 导致栈溢出崩溃。
原因是processEvents在处理自己槽函数的事件时,又会调用到processEvents,进入到无尽的递归中。