通常事件来源有来自窗口系统的QMouseEvent和QKeyEvent事件,以及来自系统的QTimeEvent,还有一些事件来自应用程序
Qt为多数事件定义了特定的类,值得关注的是QResizeEvent,QPainEvent,QMouseEvent,QKeyEvent和QCloseEvent类,每一个类均从QEvent继承而来,并加入了本事件特定的功能函数
QT中的所有事件类型均由QEvent::Type枚举
QT提供了处理事件的五种方式
一:重新实现特定的事件处理器
重新实现如mousePressEvent(),keyPressEvent()和paintEvent()这些Qt事先已经定义的事件处理器是进行事件处理的最简单方式
二:
重新实现QObject::event()函数
三 在QObject中注册事件过滤器
四:在QApplication中注册事件过滤器
五:继承QApplication并重新实现notify()函数