QLabel实现点击事件

主要是通过安装过滤器,实现点击事件。

事件过滤器的操作:

  1. 首先给需要添加事件过滤器的部件注册监听对象;

    对象名->installEventFilter(true);

  1. 重写eventFilter(QObject *obj, QEvent *event)函数进行处理。

    MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
    {
    ui->setupUi(this);
    ui->label_LianJieDuXieQi->installEventFilter(this); //1.给label安装事件过滤器
    }
    bool MainWindow::eventFilter(QObject *watched, QEvent *event)
    {
    if (watched == ui->label_LianJieDuXieQi) {//2.监听label
    if (event->type() == QEvent::MouseButtonPress) {
    qDebug()<<"1";
    FuncOpenReader();
    return true;
    }
    else {
    return false;
    }
    }
    else {
    return QWidget::eventFilter(watched, event);
    }
    }

相关推荐
ctgu902 小时前
PyQt5(九):如何在Qtdesigner中设置图片
qt·pyqt
油炸自行车10 小时前
【Qt】Qt设计师控件名缩写、命名规则
qt·qt designer·qt设计师控件命名规则·qt设计师控件命名简写·qt控件名缩写
CC.GG12 小时前
【Qt】Qt背景与环境搭建
开发语言·qt
小尧嵌入式12 小时前
QT软件开发知识流程及秒表计时器开发
开发语言·c++·qt·算法
cwxblog13 小时前
Qt + Visual Studio 开发环境搭建
windows·qt·开发工具·visual studio
NiNi_suanfa21 小时前
【Qt】Qt 批量修改同类对象
开发语言·c++·qt
mengzhi啊1 天前
c++11的变参模板和c++17的左折叠
qt
路痴楷1 天前
无法定位程序输入点问题
c++·qt·visual studio
Source.Liu1 天前
【LibreCAD】 RS_Units 类完整解析
c++·qt·rust
偶像你挑的噻1 天前
2.Qt-基础核心以及信号与槽
开发语言·qt