首先实现自己的label类:
myLabel.h:
#ifndef MYLABEL_H
#define MYLABEL_H
#include <QEvent>
#include <QLabel>
class myLabel : public QLabel
{
public:
myLabel();
~myLabel();
void enterEvent(QEvent *e); //hover鼠标进入
void leaveEvent(QEvent *e); //hover鼠标离开
void mousePressEvent(QMouseEvent *e); //鼠标按下
private:
bool ifPressed;
};
#endif // MYLABEL_H
myLabel.cpp:
#include "myLabel.h"
#include <QPalette>
myLabel::myLabel()
{
//setFrameShape(QFrame::Box); //先设置边框为矩形
//setStyleSheet("border-width: 0px;");
ifPressed = false;
}
myLabel::~myLabel()
{
}
void myLabel::enterEvent(QEvent *e)
{
if(ifPressed == false)
setStyleSheet("border-width: 4px;border-style: solid;border-color: rgb(220,20,60);");
}
void myLabel::leaveEvent(QEvent *e)
{
if(ifPressed == false)
setStyleSheet("border-width: 0px;");
}
//鼠标按下
void myLabel::mouseP

本文介绍如何通过继承QLabel创建自定义的myLabel类,并实现鼠标悬停和点击时的样式变化。通过QColor和QString设置样式,适用于Qt应用程序开发。
最低0.47元/天 解锁文章
434

被折叠的 条评论
为什么被折叠?



