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

相关推荐
用户805533698031 天前
现代Qt开发教程(新手篇)1.14——日志
c++·qt
江公望1 天前
Qt QSharedPointer用法,10分钟讲清楚
开发语言·qt
Shadow(⊙o⊙)1 天前
初识Qt+经典方式实现hello world!的交互
开发语言·c++·后端·qt·学习
道剑剑非道1 天前
FFmpeg + Qt 实现摄像头采集与 MP3 背景音乐 RTSP 推流
开发语言·qt·ffmpeg
努力努力再努力wz1 天前
【Qt入门系列】第一个 Qt Widgets 程序:项目创建、UI 文件、Hello World、对象树与 qDebug 日志
java·c语言·开发语言·数据结构·c++·qt·ui
Hua-Jay1 天前
OpenCV联合C++/Qt 学习笔记(十五)----形态学操作及应用
c++·笔记·qt·opencv·学习·计算机视觉
chao1898441 天前
Qt Modbus TCP 通讯源码
qt·tcp/ip·命令模式
Hua-Jay1 天前
OpenCV联合C++/Qt 学习笔记(十六)----图像细化、轮廓检测、轮廓信息统计及轮廓外接多边形
c++·笔记·qt·opencv·学习·计算机视觉
lilong(DLC)1 天前
Qt信号槽在异步连接时需要将参数进行复制吗?
开发语言·qt
渣渣灰95872 天前
VSCode开发环境开发Qt程序
ide·vscode·qt