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

相关推荐
励志不掉头发的内向程序员2 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互
尘中远3 小时前
给C++工业软件搭建 Agent
开发语言·c++·qt·ai·agent
Quz4 小时前
QML Page:把 Page 装进切换容器里
qt
秋田君4 小时前
Qt_串口编程
开发语言·qt
励志不掉头发的内向程序员6 小时前
【LibreCAD 2D架构】从两个坐标到图形实体:RS_ActionDrawLine如何创建RS_Line
开发语言·c++·qt·学习·系统架构
似水এ᭄往昔6 小时前
【Qt】--常用控件(按钮类控件)
开发语言·qt
_林枭_17 小时前
ZW3D二次开发_原生表单_如何设置表单左上角图标
qt·zw3d
Quz1 天前
QML 快捷键篇:基础快捷键与组合键序列
qt·qml
≮傷£≯√1 天前
Qt 面试(一)
qt·ffmpeg·音视频
西西弗Sisyphus1 天前
Qt 分类导航区的实现
开发语言·qt