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

相关推荐
老赵的博客6 小时前
c++ 之观察者模式
c++·qt
Quz10 小时前
QML TabBar 自定义样式与动态标签
qt
似水এ᭄往昔11 小时前
【Qt】--常用控件(输入类控件)
开发语言·qt
qq_4017004111 小时前
Qt无边框窗体移动详解
qt
励志不掉头发的内向程序员12 小时前
【LibreCAD 2D架构】RS_Line创建之后发生了什么?从图形容器到屏幕渲染
开发语言·c++·qt·学习·系统架构
mengzhi啊1 天前
QPluginLoader 动态 DLL 插件版,支持插件之间通信,广播。请求和应答
c++·qt
老赵的博客1 天前
c++ QT之动态库加载问题
c++·qt
Quz1 天前
QML Loader:动态创建控件与延迟加载
qt
Quz1 天前
QML Loader:组件切换与属性传递
qt
老赵的博客1 天前
c++QT之动态库加载常见报错
c++·qt