Qt 事件过滤器event

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    /* 安装事件过滤器 */
    ui->label->installEventFilter(this);
}

bool Widget::eventFilter(QObject *watched, QEvent *event)
{
    if(watched == ui->label)
    {
        if(event->type() == QEvent::MouseButtonPress)
        {
            qDebug() << "eventFilter MouseButtonPress";
            return true;
        }
    }

    return QWidget::eventFilter(watched, event);
}
/* 点击label 释放label */
23:39:58: Starting ...
eventFilter MouseButtonPress
mouseReleaseEvent
posted @ 2022-08-03 23:41  thomas_blog  阅读(45)  评论(0编辑  收藏  举报