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);
}