【发布时间】:2019-06-06 07:35:46
【问题描述】:
Qt 下事件的默认优先级是多少?它们是否都具有相同的优先级(哪个?),还是其中一些比其他的更平等?根据文档,“作为一种特殊情况,超时为 0 的 QTimer 将在窗口系统事件队列中的所有事件都被处理后立即超时。”这是否只是意味着具有零超时的 Qtimer 会产生具有最低优先级的事件?那么非零超时呢?
【问题讨论】:
-
什么是事件优先级?顺序取决于发生了什么。如果我点击一个按钮,当然,它会首先获得鼠标点击事件,而不是按键事件。如果我单击然后按一个键,顺序将是相同的。
-
请注意,事件的优先级是在对
QCoreApplication::postEvent的调用中指定的,而不是QEvent类型本身的固有部分。因此,同一类型的两个事件可能具有不同的优先级。