我使用 Qt :: EventPriority :: LowEventPriority 在事件队列中添加了100多个事件。
处理每个事件需要1-10秒。
我稍后再添加一个事件,优先级设置为 Qt :: EventPriority :: HighEventPriority 。
但是,在我的对象的 customEvent 方法中,我仍然会收到这些低优先级事件。最后一个高优先级事件没有到来,好像它被添加的优先级与其他事件相同。
为什么?
Qt 5.7,Microsoft Visual C ++ 2015,Windows 10。
答案 0 :(得分:1)
它的设计。事件循环在传递事件时被锁定。在事件发生后,您在事件锁定时发布的任何事件都将被附加。