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