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

相关推荐
我在人间贩卖青春7 小时前
Qt 项目发布
qt·项目发布
不才小强11 小时前
Qt开发实战:屏幕录制项目中学习到的知识与遇到的难题
qt·音视频
人还是要有梦想的12 小时前
QT的基本学习路线
开发语言·qt·学习
艾莉丝努力练剑13 小时前
【QT】QT快捷键整理
linux·运维·服务器·开发语言·图像处理·人工智能·qt
黑化暴龙魔神--幻梦13 小时前
QT使用TRANSLATIONS添加多国翻译(详细过程)
qt·自动翻译
程序员_大白13 小时前
【2025版】最新Qt下载安装及配置教程(非常详细)零基础入门到精通,收藏这篇就够了
开发语言·qt
我在人间贩卖青春13 小时前
Qt多媒体编程
qt·多媒体编程
高亚奇13 小时前
QT版本 MSVC/MinGW/GCC 含义及如何区分
开发语言·qt
IdahoFalls13 小时前
QT-Windows Kits-版本问题:【“_mm_loadu_si64”: 找不到标识符】解决方案[NEW]
开发语言·c++·windows·qt·算法·visual studio
希忘auto13 小时前
详解关于VS配置好Qt环境之后但无法打开ui界面
qt·vs