如何中断事件循环

设置属性拒绝接收鼠标事件(窗口及其子部件都设置这个属性)
Qt::WA_TransparentForMouseEvents
开启接受鼠标事件
setAttribute( Qt::WA_TransparentForMouseEvents,true)

用到这是因为无法中断QT的事件循环,但是后面使用了这个属性发现还是无法中断事件循环,所以猜想QT对于事件循环的处理应该是放到一个队列里面,一定要执行完这个队列才可以响应后面的事件,解决的办法就是把事件处理的函数放到定时器里面延时一下再处理,因为这样处理的事件就不在一个代码块里面,也就不在一个队列,是可以中断的。

猜你喜欢

转载自blog.csdn.net/caicai_xiaobai/article/details/117826576