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

相关推荐
hqwest16 分钟前
码上通QT实战15--监控页面07-打开串口连接
开发语言·qt·多线程·signal·slot·emit·信号和槽
CS Beginner2 小时前
【单片机】嵌入式显示屏开发框架:QT、SDL、LVGL 深度解析
单片机·嵌入式硬件·qt
金色熊族2 小时前
MV结构下设置Qt表格的代理(2)
c++·qt
Morwit3 小时前
Qt qml创建c++类的单例对象
开发语言·c++·qt
YxVoyager3 小时前
Qt C++ :QRegularExpression 正则表达式使用详解
c++·qt·正则表达式
qq_401700413 小时前
QStackedLayout 实现遮罩层
qt
Larry_Yanan3 小时前
Qt多进程(十一)Linux下socket通信
linux·开发语言·c++·qt
weixin_462446233 小时前
Python 使用 PyQt5 + Pandas 实现 Excel(xlsx)批量合并工具(带图形界面)
python·qt·pandas
不会c嘎嘎3 小时前
QT中的常用控件(五)
服务器·开发语言·qt
一只小bit4 小时前
Qt 重要控件:多元素控件、容器类控件及布局管理器
前端·c++·qt