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

Posted 流若浅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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什么的这个方法。

以上是关于Qt 样式表鼠标滑过按钮更改Text文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

在 Qt 中为整个小部件设置样式表

JavaScript 鼠标移动,样式改变文本框边框颜色

样式表可以更改 QPlainTextEdit 中的文本颜色吗?

QComboBox 文本颜色不会随样式表而改变

使用样式和css更改pandas数据框html表python中文本的颜色

Qt如何更改mainWindow中每个滚动区域的widgetContents-widget的样式表?