逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
obj->installEventFilter(filterObject);
常常是obj->installEventFilter(this).
发送到obj的所有事件, 都会先发送到filterObject的eventFilter()方法, 即filterObject会过滤obj的事件, 这样就不用为了实现一个事件而要去继承, 再实现一个类, 完成如mouse event, key event等了, 只用在当前类中就可以通过事件过滤来完成.
bool QObject::eventFilter(QObject *watchedObject, QEvent *event) [virtual]
如果是安装者的事件if (obj == watchedObject), 处理过此事件(event->type()), 返回true, 没有处理就返回false.
如果不是安装者的事件, 则把此事件抛给父类去处理:
if (obj == watchedObject) {
          处理后返回true, 否则返回false.
} else {
          return SuperClass::eventFilter(watchedObject, event);
}
posted on 2009-04-26 00:24 逛奔的蜗牛 阅读(966) 评论(0)  编辑 收藏 引用 所属分类: Qt

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理