Qt 样式表鼠标滑过按钮更改Text文本颜色

QSS语法参考http://blog.csdn.net/liang19890820/article/details/51691212

Qt助手上也有比较详细的说明,选择器以及伪选择器,现在只是做个简单的搬运&翻译工。

当然也可以重载QPushButton 然后跟踪鼠标党鼠标滑过Button的时候,使用画板去更改ButtonText的颜色。

MyButton= new QPushButton("LiuLikeQian",this);

MyButton->setStyleSheet("QPushButton{background:transparent;font:12pt 微软雅黑 blod;}"

              "QPushButton:hover{color:red;}"

              "QPushButton:pressed{color:blue}");

当然有滑过肯定也有点击的,效果如下

normal状态是黑色

hover状态是红色

pressed状态是蓝色

使用的是gifcam鼠标没有录制进去,效果就这样的了。

下面介绍重载QPushButton的方法,也就是重写mouseevent。

直接去判断这个按钮的 QRect 里面有没有包含鼠标的位置,contain 那么即包含,那么时候改变button的 Qss

当鼠标离开Button的QRect范围的时候,那么即contain 没有包含鼠标的位置,那么使用Qss还原Button原来的样式,

注意要在重写的QPushButton这边允许鼠标跟中,setmousetar什么的这个方法。

原文地址:https://www.cnblogs.com/liuruoqian/p/6535002.html