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

相关推荐
SNAKEpc1213825 分钟前
深入理解PyQtGraph核心组件交互
python·qt·pyqt
Henry Zhu12330 分钟前
Qt Model/View架构详解(四):高级特性
开发语言·qt·架构
Henry Zhu1232 小时前
Qt Model/View架构详解(五):综合实战项目
开发语言·qt·架构
张健11564096483 小时前
Qt的面向接口编程和运行时动态加载
qt
Henry Zhu1233 小时前
Qt Model/View架构详解(二):内置视图与模型
开发语言·qt
chao1898443 小时前
在Qt中实现任意N阶贝塞尔曲线的绘制与动态调节
开发语言·qt
从此不归路8 小时前
Qt5 进阶【7】网络请求与 REST API 实战:QNetworkAccessManager 深度应用
开发语言·c++·qt
Henry Zhu1239 小时前
Qt Model/View架构详解(三):自定义模型
开发语言·qt
老歌老听老掉牙9 小时前
16宫格属性分析系统:打造专业级科学数据可视化工具
c++·qt·可视化
qq_3975623110 小时前
Qt_工程执行逻辑_窗口逻辑
开发语言·qt