找回密码
 立即注册
收起左侧

请问如何在paintEvent中获取qss设置的样式?

1
回复
9742
查看
[复制链接]
累计签到:2 天
连续签到:2 天
来源: 2021-8-3 20:11:02 显示全部楼层 |阅读模式
1Qter豆
比如,我自定义QPushButton控件,定义一个类继承自QPushButton,然后重写paintEvent()。
然后外边设置qss样式

QPushButton{color:red;background-color:white;}
QPushButton:hover{color:yellow;background-color:black;}
QPushButton:pressed{color:blue;background-color:green;}


void TitleButton::paintEvent(QPaintEvent *event)
{
//然后想在这获取到qss设置的颜色
//包括伪状态的颜色
}



这个可以实现吗?
this->palette()
中,貌似只能获取到normal状态下的color,其他状态的可以获取吗?

感谢各位大佬了~~~

回复

使用道具 举报

累计签到:2 天
连续签到:2 天
2021-8-4 14:33:28 显示全部楼层
可以自定义属性
setProperty("color", QColor(255,255,255));
然后qss设置为
qproperty-txColor: #000000;
需要再获取时调用
property("color").value<QColor>()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了