QT学习笔记(十五):QLabel的点击事件(clicked)添加
Qt之添加QLabel的点击事件
QLabel功能为显示了一个字符串或者图片等信息,它本身没有click信号。也就不能够响应click点击事件,有什么办法来实现来,我们可以:
第一种方法:使用eventFilter事件过滤器

1)头文件添加:
#include <QMouseEvent>
public:
bool eventFilter(QObject *obj, QEvent *event); // 添加时间过滤器声明
2)构造函数添加:
myWidget::myWidget(QWidget *parent) :QWidget(parent),ui(new Ui::myWidget)
{
ui->setupUi(this);
ui->label->installEventFilter(this); // 安装事件过滤器
// QFont font ;
// font.setFamily("微软雅黑"); //字体
// font.setBold(true); //加粗
// font.setItalic(true); //斜体
// font.setStrikeOut(false); //删除线
// font.setUnderline(true); //下划线
// font.setPointSize(23); //字体大小
// ui->label->setFont(font);
// 修改标签文本格式
ui->label->setText(tr("点击加载图片..."));
ui->label->setFont(QFont("微软雅黑",20,QFont::Bold,true));
//ui->label->setStyleSheet("color:blue"); //文本颜色(前景色)
ui->label_1->setStyleSheet("color:blue; background-color:lightGray;");//设置文本颜色+背景颜色(前景色)
}
3)事件过滤器:
bool myWidget::eventFilter(QObject *obj, QEvent *event)
{

这篇QT学习笔记介绍了如何为QLabel添加点击事件。包括三种方法:使用eventFilter事件过滤器,子类化QLabel并重写mousePressEvent()或event(),以及通过信号与槽机制。每种方法都提供了详细的代码实现步骤。
最低0.47元/天 解锁文章
5577





