[toc]
事件过滤器
1 | void QObject::installEventFilter(QObject *filterObj) |
1 | bool eventFilter(QObject *obj, QEvent *event); |
Qt的事件过滤由以上两个方法实现,首先安装一个事件过滤器,然后重写 bool eventFilter(QObject *obj, QEvent *event)。
filterObj表示事件筛选器对象,它接收发送到此QObject对象的所有事件。筛选器可以停止事件,也可以将事件转发给此QObject对象。事件过滤器filterObj通过它的eventFilter()函数接收事件。
简单实现
当鼠标进入
lineEdit的时候并且操作时HoverEnter的时候,则修改QLabel的颜色。
- 安装事件过滤器
1 | ui->lineEdit->installEventFilter(this); |
- 重写
eventFilter()
1 | bool Widget::eventFilter(QObject *wcg, QEvent *event) |