Qt QApplication::processEvents()作用

记:在项目中处理复杂耗时的操作时,频繁看到调用这一方法,遂记录下其具体作用,以供日后回溯。

一、作用

这个函数告诉QT处理所有那些还没有被处理的各类事件,然后将控制权返还给调用者。
实际上,QApplication::exec() 就是一个不停调用processEvents()函数的额While循环。

二、问题

该方法还有一个问题:
可能正在保存文件的过程中,用户不小心又单击了保存,或不小心关闭了程序主窗口,这样会产生意想不到的后果,方法如下:
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);

它可以忽略用户的输入(鼠标和键盘事件)。

三、应用

  1. 可做延时函数
    QCoreApplication::ProcessEvents(QEventLoop::AllEvents, 100);
    
  2. 在处理需要长时间的操作时,为了保持界面响应
    在复杂操作的过程中频繁调用QApplication::processEvents();

2023-1-29
ChengDu China
ZLG

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值