Qt中给QLabel添加鼠标单击事件

一、概述

QLabel在QT中主要用途是显示信息,自身没有具备捕获鼠标单击事件,但在应用程序开发的过程中,常常需要用到响应鼠标点击事件。

二、实现结果:

三代码实现过程:

  1. 基于QLabel生成继承类,并在继承类中声明鼠标单击信号和响应事件

  1. 在实现类中实现相关代码

附详细代码:

.h文件

#ifndef CUSTOMLABEL_H

#define CUSTOMLABEL_H

#include <QLabel>

#include <QObject>

#include<QWidget>

#include<QMouseEvent>

class customLabel : public QLabel

{

Q_OBJECT

public:

customLabel(QWidget *parent=nullptr);

signals:

void clicked();

protected:

virtual void mousePressEvent(QMouseEvent* event);

};

#endif // CUSTOMLABEL_H

.cpP文件

#include "customlabel.h"

customLabel::customLabel(QWidget *parent)

:QLabel(parent)

{

}

void customLabel::mousePressEvent(QMouseEvent *ev)

{

if(ev->button()==Qt::LeftButton)

{

emit clicked();

}

QLabel::mousePressEvent(ev);

}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值