我们在定义一个控件的样式表的时候,有一些自带的属性,比如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);