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

相关推荐
Quz2 小时前
QML Loader:动态创建控件与延迟加载
qt
Quz2 小时前
QML Loader:组件切换与属性传递
qt
老赵的博客2 小时前
c++QT之动态库加载常见报错
c++·qt
Quz1 天前
QML Loader:从文件加载组件、加载内联组件
qt
Quz1 天前
QML Loader: 状态监听与动态标签页
qt
似水এ᭄往昔1 天前
【Qt】--常用控件(显示类控件)
开发语言·qt
慧都小项1 天前
从 Figma 到 Qt:Qtitan 能减少哪些界面还原工作?
前端·qt·嵌入式·figma·图形界面·工业界面·qtitan
用户122003879001 天前
Qt学习之绘图入门练习
qt
西西弗Sisyphus1 天前
Qt 实现一个 Windows 启动项查看器
开发语言·windows·qt
郝学胜-神的一滴2 天前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生