1 选择器
(1) 通配选择器
(2) 类型选择器
QPushButton, 匹配所有的QPushButton类及其子类的实例
(3) 属性选择器
QPushButton[name=”btn_1”]
匹配所有的name属性为btn_1的QPushButton实例
# 可通过setProperty方法设置自定义属性
btn_1.setProperty("name", "mybtn")
(4) 类选择器
.QPushButton
匹配所有的QPushButton类, 但不匹配其子类的实例
(5) ID选择器
btn_1
匹配所有objectName(ID)为btn_1的控件, 当然, 由于ID是唯一的, 所以只会匹配到1个
(6) 后代选择器
QDiaglog QPushButton
匹配所有的QDialog容器中包含的所有QPushButton, 是祖孙关系也可以
(7) 子选择器
QDiaglog > QPushButton
匹配所有的QDialog容器中包含的QPushButton, 必须是父子关系才能匹配
(8) 子控件选择器
子部件 描述
::down-arrow combo box或spin box的下拉箭头
::down-button spin box的向下按钮
::drop-down combo box的下拉箭头
::indicator checkbox、radio button或可选择group box的指示器
::item menu bar或status bar的子项目
::menu-indicator push button的菜单指示器
::title group box的标题
::up-arrow spin box的向上箭头
::up-button spin box的向上按钮
QComboBox::drop-down {
image: url(dropdown.png);
}
QTabBar::tab {
height:17px;
}
(9) 伪状态选择器
伪状态 描述
:checked button部件被选中
:disabled 部件被禁用
:enabled 部件被启用
:focus 部件获得焦点
:hover 鼠标位于部件上
:indeterminate checkbox或radiobutton被部分选中
:off 部件可以切换,且处于off状态
:on 部件可以切换,且处于on状态
:pressed 部件被鼠标按下
:unchecked button部件未被选中
QPushButton:pressed {
border-color: #707070;
border-width: 2px;
border-style: solid;
border-radius: 2px;
background-color: #1e1d23;
color: #37efba;
}
QTableView::item:hover {
background-color: #a1b1c9;
}
2 使用技巧
(1) 联合使用
#btn_1, #btn_2, #btn_3 {
background-color: blue;
}
(2) 后代选择器 搭配 属性选择器
QDiaglog QPushButton[name="btn_1"] {
background-color: blue;
}
(3) ID选择器 搭配 子控件选择器
QTabWidget#tab_set::tab-bar::tab {
height: 28px;
}
3 装载Qss
(1) 定义一个字符串, setStyleSheet
qss_style = """
QTableView::item:hover {
background-color: #a1b1c9;
}
"""
app.setStyleSheet(gv.qss_style)
(2) 对单个控件setStyleSheet
self.btn_new_cfg_file.setStyleSheet("""
QPushButton {
background-color: #888888;
}
""")
(3) 在designer中设置样式表
* {
font-size: 12px;
font-family: "Microsoft YaHei";
}
QTableView {
background: white;
selection-color: #000000;
selection-background-color: #c4e1d2;
gridline-color: rgb(213, 213, 213);
alternate-background-color: rgb(243, 246, 249);
}
QTableView::item:hover {
background-color: #a1b1c9;
}