我只是关于the Qt event system和QEvent
class的文档。我对QObject::event()
方法的行为感兴趣。文档说明:
此虚函数接收对象的事件,如果识别并处理了事件e,则应返回true。
从false
方法返回event()
时的预期行为是什么?还有什么办法来处理这个事件?事件是否自动转发到父对象?
注意:我知道源代码可用,而且我有副本。我理想地寻找一些解决这种行为的文档。
答案 0 :(得分:6)
我认为,如果您不希望过滤该事件类型(例如return QObject::event(event);
),则最佳做法是将事件显式转发给基类事件方法,因为事件函数将事件委托给特定处理程序(例如QWidget::keyPressEvent
)。
QCoreApplication::notify根据返回值传播事件。在true
上,它将事件视为已消耗并停止。否则,事件将传递给对象的父级。有关详情,请参阅Events and Filters和Another Look at Events。
答案 1 :(得分:0)
一些事件可以被传播,事件将被递归传播给它的父和父,直到被处理为止。看看这个:https://doc.qt.io/archives/qq/qq11-events.html