QLabel自定义类实现点击效果以及鼠标掠过字体的颜色变化效果

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

原文地址:https://www.cnblogs.com/lbyj/p/13539239.html