Qt中的事件处理

Qt提供了5个级别的事件处理和事件过滤的方法

1,重新实现特殊的时间处理器
重载例如 mousePressEvent(), keyPressEvent(), paintEvent()这样的时间处理器

2,重新实现QBject::event()
通过event()函数的重新实现,可以在这些事件到达特定的实践处理器之前处理他们。这种方式常用于覆盖tab键的默认意义,这种方式也可以用于处理没有特定事件处理器的不常见类型的事件中(例如,QEvent::However)。当重新实现event()时,必须对那些没有明确处理的情况调用其基类的event()函数。

3,在QObject中安装事件过滤器
对象一旦使用installEventfilter()注册过,用于目标对象的所有事件都会首先发送给这个监视对象的eventFilter()函数。如果在同一个对象安装了多个事件处理器,那么就会按照安装顺序逆序,从最近安装的到最先安装的,依次激活这些事件处理器。

4,在QApplication对象中安装事件过滤器
一旦在qApp(唯一的QApplication对象)注册了事件过滤器,那么应用程序中每个对象的每个事件都会在发送到其他事件过滤器前,先发送给这个eventFilter()函数。

5,子类化QApplication并且重新实现notify()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值