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

相关推荐
TMedical11 小时前
MedPlanning 截骨模拟矫形功能
c++·图像处理·人工智能·qt·健康医疗
chari克里14 小时前
QT5.15.2 + msvc2022部署全流程说明(windows可联网环境)
开发语言·c++·qt
透明的玻璃杯14 小时前
VS2015+QT 多线程
开发语言·qt
小王C语言16 小时前
Qt常用控件:多元素控件,纵向列表,表格控件,树状控件
开发语言·qt
huailiang201016 小时前
QSG 与 QRhi:把一个 PBR 渲染器搬进 QML 渲染栈
qt·pbr·qrhi
qq_4663024518 小时前
如何通过部分文件名,读取出整个文件名
c++·qt
半杯咖啡半行码20 小时前
QML进阶实战(二):异步网络、性能优化与工程化落地
网络·qt·性能优化·qml
半杯咖啡半行码1 天前
QML与 Qt Quick入门实战:从零基础到 C++ 双向通信详解
java·qt·交互
扶尔魔ocy1 天前
【QT+FFmpeg】知识点编目及传送门
qt·ffmpeg
qq_401700411 天前
Qt Modbus 工程化封装:超时、重试、取消与资源释放,别让异步请求变成隐患
数据库·qt