当前位置:   article > 正文

Qt----事件处理_事。·⑨;q

事。·⑨;q

Qt----事件处理

1.事件处理简述

Qt的事件模型的强大的功能:一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。

2.事件处理简述

Qt的事件模型的强大的功能:一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。

Qt的事件处理有5种级别:

  1. 控件中的事件处理函数:如重写keyPressEvent(),mousePressEvent()和paintEvent(),这是最常用的事件处理方法,我们已经看到过很多这样的例子了。

  2. QObject::event(),在事件到达事件处理函数时处理它。在需要改变Tab键的惯用法时这样做。也可以处理那些没有特定事件处理函数的比较少见的事件类型(例如,QEvent::HoverEnter)。我们重写event()时,必须要调用基类的event(),由基类处理我们不需要处理的那些情况。

  3. 给QObject对象安装事件过滤器:对象用installEventFilter()后,所有达到目标控件的事件都首先到达监视对象的eventFilter()函数。如果一个对象有多个事件过滤器,过滤器按顺序激活,先到达最近安装的监视对象,最后到达最先安装的监视对象。

  4. 给QApplication安装事件过滤器,如果qApp(唯一的QApplication对象)安装了事件过滤器,程序中所有对象的事件都要送到eventFilter()函数中。这个方法在调试的时候非常有用,在处理非活动状态控件的鼠标事件时这个方法也很常用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/573903
推荐阅读
相关标签
  

闽ICP备14008679号