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 }");