子控件选择器
有些控件内部包含了多个 "⼦控件" . ⽐如 QComboBox 的下拉后的⾯板, ⽐如 QSpinBox 的上下按钮等。
可以通过⼦控件选择器 :: , 针对上述⼦控件进⾏样式设置.
参考⽂档 Qt Style Sheets Reference 中 List of Sub-Controls
例子:设置下拉框的下拉按钮样式
(1)设置一个下拉框,并添加几个选项
(2)创建 resource.qrc , 并导⼊图⽚
(3)编写全局样式
-
使⽤⼦控件选择器 QComboBox::down-arrow 选中了 QComboBox 的下拉按钮.
-
再通过 image 属性设置图⽚.
伪类选择器
伪类选择器, 是根据控件所处的某个状态被选择的. 例如按钮被按下, 输⼊框获取到焦点, ⿏标移动到某个控件上等.
- 当状态具备时, 控件被选中, 样式⽣效.
- 当状态不具备时, 控件不被选中, 样式失效.
使⽤ : 的⽅式定义伪类选择器
常用的伪类选择器:
伪类选择器 | 说明 |
---|---|
:hover | ⿏标放到控件上 |
:pressed | ⿏标左键按下时 |
:focus | 获取输⼊焦点时 |
:enabled | 元素处于可⽤状态时 |
:checked | 被勾选时 |
:read-only | 元素为只读状态时 |
这些状态可以使⽤ ! 来取反. ⽐如 :!hover 就是⿏标离开控件时, :!pressed 就是⿏标松开时, 等等.
例子:设置按钮的伪类样式
(1)设置一个按钮
(2)创建全局样式