QT控件事件过滤

一.前言
在使用QT开发界面项目时,经常会遇到针对某一些控件,需要做一些鼠标操作(鼠标点击在控件上,下拉框禁止鼠标滚轮等类似的一系列操作),常规手法,针对此种操作不好实现,但是这种操作尤为常用,如何处理?
二.使用事件过滤实现对某个控件特定事件的响应
1.声明需要监听过滤的的控件
控件指针->installEventFilter(this); //this为当前控件父控件
2.在控件所在UI类中重写eventFilter函数
.h中声明
//事件过滤
bool xxx::eventFilter(QObject *obj, QEvent *event)
.cpp中定义
bool xxx::eventFilter(QObject *obj, QEvent *event)
{
//禁用下拉列表对鼠标滚轮的响应(其它操作类似)
if(obj== ui.控件指针 && event->type() == QEvent::Wheel)
{
//do somethings
ret

QT控件事件过滤最先出现在Python成神之路

版权声明:
作者:Zad
链接:https://www.techfm.club/p/21240.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>