1、自定义实现QLabel的clicked()信号,以及实现hover的效果
头文件:
class activityLabel:public QLabel
{
Q_OBJECT
public:
activityLabel(QWidget *parent);
~activityLabel();
protected:
void mouseReleaseEvent(QMouseEvent *ev);
signals:
void clicked();
}
.cpp:
activityLabel::activityLabel(QWidget *parent):QLabel(parent)
{
}
activityLabel::~activityLabel(){}
void activityLabel::mouseReleaseEvent(QMouseEvent *ev)
{
if(ev->button() == Qt::LeftButton)
{
Q_UNUSED(ev) //没有实质作用,用来避免编译器警告
emit clicked();
}
}
2、创建一个GUI应用程序,打开Ui添加一个label,右击提升为,在新建提升类中输入自定义的类名,输入完成后点击添加。则提升的类中会出现刚刚添加的类,将其勾选上,点击提升即可
3、给label设置hover样式:右击建立的label对象,选择改变样式表,输入下面语句即可
QLabel:hover{color:blue;}
参考链接:https://blog.csdn.net/kohaku/article/details/24551287?utm_source=blogxgwz2