- 先安装事件过滤器
MyLable::MyLable(QWidget *parent) : QLabel(parent)
{
//设置追踪模式
//this->setMouseTracking(true);
this->installEventFilter(this);
} - 重写过滤器
virtual bool eventFilter(QObject* watched,QEvent* event);
bool MyLable::eventFilter(QObject *watched, QEvent *event)
{
//判断是当前控件触发了
if(watched == this)
{
//判断触发了哪个事件
if(event->type() == QEvent::MouseButtonPress)
{
qDebug()<<“过滤器”<<endl;
return true;
}
}
else
{
return QLabel::eventFilter(watched,event);
}
}
qt的事件过滤器
最新推荐文章于 2024-05-17 12:52:10 发布