dai*_*isy 3 inheritance qt qt4 qevent qt5
说我已经QWidget::keyPressEvent(QKeyEvent *e)在我的子类中重新实现了.
是否有必要在最后调用基类的实现?
例:
MyWidget::keyPressEvent(QKeyEvent *e)
{
// my event handler...
// now call parent event handler, necessary?
QWidget::keyPressEvent(e);
}
Run Code Online (Sandbox Code Playgroud)
如果是这样,有什么意义呢?
如果您不对事件采取行动,则应始终将事件传递给基类的实现,因为它可能会对其执行操作,或者可能为其安装了事件过滤器.QWidget例如,如果用户按下Esc,则默认实现会关闭弹出窗口小部件.因此,为了确保不破坏任何事件处理,始终将事件传递给基类,除非您对它们采取行动.
| 归档时间: |
|
| 查看次数: |
874 次 |
| 最近记录: |