Qt qss、ui里进行按钮样式设置(正常状态、鼠标悬浮状态、鼠标点击状态、禁用状态),会导致按钮不显示点击状态的样式

2 篇文章 0 订阅

例如 qss中按钮的样式:QPushButton{background:red};QPushButton::pressed{background:green};QPushButton::hover{background:blue};此样式只会显示红色,鼠标悬浮上去是蓝色,点击的绿色是不生效的。无论怎么排查、调整样式书写格式,都发现不了错误,因为qss样式没有写错。那么为什么pressed的样式不生效呢?
初步排查源码会发现,当鼠标在按钮上时会一直发hover信号,鼠标点击时也会发送press信号,然后按照代码的先后顺序执行,hover信号后执行,把之前的样式覆盖掉了。
所以,正确的顺序是把hover放到pressed之前,这样样式就不会覆盖导致失效了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值