Qt 样式表 加载优先级

Qss 样式表的优先级有以下几条规则:

1、具体的高于一般的

比如按钮设置了背景图片和按下时的背景图,此时按下时pressed更具体,优先级更高,所有按下时显示红色。

QPushButton:hover{border-color:gray)}
QPushButton:pressed{border-color:red)}

2、后定义的高于前面的

下面这种情况下,后面的enabled 因为是后定义的高于前面的hover,按钮的字体颜色为蓝色。

QPushButton:hover { color: white }
QPushButton:enabled { color: blue }

3、样式表不考虑类的继承关系

下面的情况下,按钮显示为灰色:

QPushButton { color: red }
QAbstractButton { color: gray }

4、对象的样式表高于父类或qApp的样式表

下面的情况,按钮的前景色为蓝色:

qApp->setStyleSheet("QPushButton { color: white }"); 
pushButton->setStyleSheet("* { color: blue }");

猜你喜欢

转载自blog.csdn.net/u010679316/article/details/81016666