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)
{