记:在项目中处理复杂耗时的操作时,频繁看到调用这一方法,遂记录下其具体作用,以供日后回溯。
一、作用
这个函数告诉QT处理所有那些还没有被处理的各类事件,然后将控制权返还给调用者。
实际上,QApplication::exec() 就是一个不停调用processEvents()函数的额While循环。
二、问题
该方法还有一个问题:
可能正在保存文件的过程中,用户不小心又单击了保存,或不小心关闭了程序主窗口,这样会产生意想不到的后果,方法如下:
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
它可以忽略用户的输入(鼠标和键盘事件)。
三、应用
- 可做延时函数
QCoreApplication::ProcessEvents(QEventLoop::AllEvents, 100);
- 在处理需要长时间的操作时,为了保持界面响应
在复杂操作的过程中频繁调用QApplication::processEvents();
2023-1-29
ChengDu China
ZLG