QT 使用自定义状态(属性)来显示不同的样式表

    我们在定义一个控件的样式表的时候,有一些自带的属性,比如QPushbutton.我们可以通过QPushbutton::checked 与QPushButton:unchecked 两种自带的状态(属性来设置不同的样式)

QPushButton:checked
{
	color:red;
}

QPushButton:unchecked
{
	color:blue;
}

可是这样也有局限性,比如我们想有三种甚至多种状态的样式表呢?我们想设置任意多种自定义的状态怎么办?

我们可以使用

QObject::setProperty("key","value");



来设置同一个key的不同值来设置样式表



=========================================举个栗子=====================================================

QPushButton[buttonStatus="11"]
{
	color:red;
}

QPushButton[buttonStatus="22"]
{
	color:green;
}

QPushButton[buttonStatus="33"]
{
	color:blue;
}

通过设置QPushButton的"buttonStatus"的属性值来实现不同的样式

btn->setProperty("buttonStatus", "11");
//btn->setProperty("buttonStatus", "22");
//btn->setProperty("buttonStatus", "33");

最后最关键的一步来了,需要重新刷新一下

btn->style()->polish(btn);



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值