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什么的这个方法。

posted on 2017-03-11 15:11  流若浅  阅读(5287)  评论(0编辑  收藏  举报

导航