我正在使用QT Creator 3.0.1(使用QT 4.8)中的UI设计器在我的用户界面中设置按钮样式。我试图让这些按钮的行为更像网站上的链接 - 没有边框,并响应鼠标悬停。这是我目前使用的样式表:
QPushButton {
border: none;
color: #a8a8a8;
}
QPushButton:hover {
color: #ffffff;
}
我认为这很简单,但由于某种原因,彩色标签在悬停时不起作用。为了测试,我尝试以其他方式更改按钮,例如更改背景颜色,以及完美无缺的工作。
我还尝试通过包含祖先(QWidget QPushButton:hover
)和使用ID(QPushButton#templateButton
)将选择器更改为更具体的东西,但两者都没有用。
这是彩色标签的问题,还是我遗漏了一些明显的东西?
答案 0 :(得分:1)
也可以使用QLabel创建可点击链接。创建自定义类ClickableLabel,它继承QLabel并处理mousePressEvents
class ClickableLabel : public QLabel
{
Q_OBJECT
public:
explicit ClickableLabel(QWidget *parent = 0);
signals:
void clicked();
protected:
void mousePressEvent(QMouseEvent * event) ;
};
和
void ClickableLabel::mousePressEvent(QMouseEvent * event)
{
Q_UNUSED(event);
emit clicked();
}
也可以处理鼠标悬停事件并根据它们更改标签的样式。但是,我还没有测试过它。
此解决方案已从某处复制,但我不再记得原始来源。
答案 1 :(得分:0)
试试这个:
#templateButton {
border: 0px;
color: #a8a8a8;
text-decoration: underline;
text-align: right;
}
#templateButton:hover {
color: #FFFFFF;
}
答案 2 :(得分:0)