我有一个带两个按钮的窗口。
我想用不同的样式表装饰每一个。当然,它们都有不同的对象名称,但似乎只有通用的QPushButton
样式表选择器才有效。
我试过了:
QPushButton#myBtnObjectName1 {
/* style definitions */
}
QPushButton#myBtnObjectName2 {
/* style definitions */
}
尝试将#
替换为.
或仅使用#myBtnObjetNameX
时尝试相同。什么都行不通。只是:
QPushButton {
/* style definitions */
}
我使用了错误的语法吗?或者,如果不在代码中导出QPushButton
并为每个使用单独的类名称
答案 0 :(得分:5)
您可以在Qt Designer中使用“accessibleName”。 在qss样式表中:
更普遍:
[accessibleName="alert-error"] {
color: red;
}
或更具体:
QPushButton[accessibleName="bigred"] {
background-color: red;
}
答案 1 :(得分:3)
啊是的,Qt Designer中的“AccessibleName”也需要设置,而不仅仅是“ObjectName”
答案 2 :(得分:0)
要使用objectName
匹配实例,您还可以使用选择器^=
。根据{{3}}:
[att ^ = val]表示具有att属性值的元素 以前缀" val"开始。
Qt中的示例:
QPushButton[objectName^="push"] { background-color: red; }
将匹配名为QPushButton
的{{1}},但不会匹配名为pushButton
的对象。