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);
    }
    }

相关推荐
Lyndon-李大鹏1 小时前
QT-VS环境
开发语言·qt
神仙别闹4 小时前
基于QT(C++)实现Windows 自启动项查看和分析
c++·windows·qt
小许同学记录成长6 小时前
QGIS二次开发技术文档
图像处理·qt·信息可视化·无人机
初阳7851 天前
【Qt】SQLite——数据库介绍
数据库·qt·sqlite
Quz2 天前
QML 信号与槽:直接绑定与跨文件通信
qt·编程语言·设计
GIS阵地2 天前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
丰锋ff2 天前
1.2 Qt常用基础类型
开发语言·qt
nianniannnn2 天前
Qt QMessageBox知识点
开发语言·数据库·qt
J_yyy2 天前
【Qt核心组件类框架】
开发语言·qt
Drone_xjw2 天前
双网卡下Qt程序数据包“乱飞”之谜:为什么必须断开再连接
开发语言·qt