Qt 样式表参考
Qt 样式表支持各种属性、伪状态和子控件,从而能够自定义小部件的外观。
可样式化小部件列表
下表列出了可通过样式表进行自定义的 Qt Widgets:
| 控件 | 样式设置方法 |
|---|---|
| QAbstractScrollArea | 支持盒模型。 All derivatives of QAbstractScrollArea, including QTextEdit, and QAbstractItemView (all item view classes), support scrollable backgrounds using background-attachment. Setting the background-attachment to fixed provides a background-image that does not scroll with the viewport. Setting the background-attachment to scroll, scrolls the background-image when the scroll bars move. 示例请参见“自定义 QAbstractScrollArea”。 |
| QCheckBox | 支持盒模型。可通过::indicator子控件设置复选标记的样式。默认情况下,复选标记位于小部件内容矩形的左上角。 spacing属性指定复选标记与文本之间的间距。 示例请参见《自定义 QCheckBox》。 |
| QColumnView | 可通过image属性设置拖把的样式。 箭头指示符可通过::left-arrow子控件和::right-arrow子控件进行样式设置。 |
| QComboBox | 组合框周围的边框可通过box 模型进行样式设置。 下拉按钮可通过::drop-down子控件进行样式设置。默认情况下,下拉按钮位于小部件内边距矩形的右上角。 下拉按钮内的箭头标记可通过::down-arrow子控件进行样式设置。默认情况下,箭头位于下拉子控件内容矩形的中心位置。 占位符文本的颜色可通过placeholder-text-color属性进行设置。 示例请参见《自定义 QComboBox》。 |
| QDateEdit | 参见QSpinBox。 |
| QDateTimeEdit | 参见QSpinBox。 |
| QDialog | 仅支持background、background-clip和background-origin属性。 警告:请 确保为您的自定义小部件定义了Q_OBJECT 宏。 |
| QDialogButtonBox | 可以通过button-layout属性更改按钮的布局。 |
| QDockWidget | 支持对停靠状态下的标题栏和标题栏按钮进行样式设置。 可以使用border属性对停靠小部件的边框进行样式设置。可以使用::title子控件来自定义标题栏。 关闭按钮和浮动按钮分别通过::close-button和::float-button相对于::title子控件进行定位。 当标题栏为垂直布局时,将设置:vertical伪类。此外,根据QDockWidget::DockWidgetFeature 的值,将设置:closable、:floatable和:movable伪状态。 注意:请使用 QMainWindow::separator 来设置调整大小控点的样式。 警告: 当QDockWidget 被解耦时,样式表将失效,因为Qt在解耦状态下会使用原生顶级窗口。 请参阅“自定义 QDockWidget”以获取示例。 |
| QDoubleSpinBox | 参见QSpinBox。 |
| QFrame | 支持盒子模型。 Since 4.3, setting a stylesheet on a QLabel automatically sets the QFrame::frameStyle property to QFrame::StyledPanel. 示例请参见“自定义 QFrame”。 |
| QGroupBox | 支持盒模型。 可以使用::title子控件对标题进行样式设置。默认情况下,标题的定位取决于 QGroupBox::textAlignment。 In the case of a checkable QGroupBox, the title includes the check indicator. The indicator is styled using the ::indicator subcontrol. The spacing property can be used to control the spacing between the text and indicator. 示例请参见“自定义 QGroupBox”。 |
| QHeaderView | 支持盒模型。 标题视图的各部分通过::section子控件进行样式设置。 section 子控件支持:middle、:first、:last、:only-one、:next-selected、:previous-selected、:selected 和:checked等伪状态。可以通过::up-arrow和::down-arrow子控件对排序指示器进行样式设置。 示例请参见《自定义 QHeaderView》。 |
| QLabel | 支持盒模型。不支持:hover伪状态。 Since 4.3, setting a stylesheet on a QLabel automatically sets the QFrame::frameStyle property to QFrame::StyledPanel. 请参阅“自定义 QFrame”中的示例(QLabel 继承自QFrame )。 |
| QLineEdit | 支持盒模型。 选中项的颜色和背景色分别通过selection-color和selection-background-color属性进行样式设置。 占位符文本的颜色可通过placeholder-text-color属性设置。 密码字符的样式可通过lineedit-password-character属性进行设置。 可通过lineedit-password-mask-delay属性更改密码掩码的延迟时间。 示例请参见“自定义 QLineEdit”。 |
| QListView | 支持盒模型。 When alternating row colors is enabled, the alternating colors can be styled using the alternate-background-color property. 所选项的颜色和背景色分别通过selection-color和selection-background-color进行样式设置。 选中行为由show-decoration-selected属性控制。 若需对QListView 中的项目进行更精细的控制,请使用::item子控件。 有关设置可滚动背景样式,请参阅QAbstractScrollArea。 示例请参阅《自定义QListView》。 |
| QListWidget | 参见QListView。 |
| QMainWindow | 支持对分隔符进行样式设置。 The separator in a QMainWindow when using QDockWidget is styled using the ::separator subcontrol. 示例请参见“自定义 QMainWindow”。 |
| QMenu | 支持盒模型。 各个项目的样式通过::item子控件进行设置。除了通常支持的伪状态外, item 子控件还支持:selected、:default、:exclusive以及非排他性伪状态。可选中菜单项的指示符通过::indicator子控件进行样式设置。 分隔符通过::separator子控件进行样式设置。 对于带有子菜单的项目,箭头标记使用right-arrow和left-arrow 进行样式设置。 滚动条使用::scroller 进行样式设置。 可拆分区域使用::tearoff 进行样式设置。 请参阅《自定义 QMenu》中的示例。 |
| QMenuBar | 支持盒模型。 spacing属性指定菜单项之间的间距。单个菜单项的样式通过::item子控件进行设置。 警告:在 Qt/Mac 上运行时, 菜单栏通常会嵌入到系统级菜单栏中。在这种情况下,样式表将不起作用。 请参阅“自定义 QMenuBar”以获取示例。 |
| QMessageBox | 可使用messagebox-text-interaction-flags属性来更改与消息框中文字的交互方式。 |
| QProgressBar | 支持盒模型。 可以通过::chunk子控件为进度条的分段设置样式。分段显示在小部件的“内容”矩形上。 如果进度条显示文本,请使用text-align属性来定位文本。 不确定型进度条设置了:indeterminate伪状态。 示例请参见《自定义 QProgressBar》。 |
| QPushButton | 支持盒子模型。 支持:default、:flat、:checked伪状态。 从 5.15 版本起,可以设置icon属性来覆盖按钮图标。 For QPushButton with a menu, the menu indicator is styled using the ::menu-indicator subcontrol. Appearance of checkable push buttons can be customized using the :open and :closed pseudo-states. 警告:如果 仅在QPushButton 上设置background-color属性,除非将border属性设置为某个值,否则背景可能不会显示。这是因为默认情况下,QPushButton 会绘制一条原生边框,该边框会完全覆盖background-color。例如, 请参阅《自定义 QPushButton》中的示例。 |
| QRadioButton | 支持框模型。 可以通过::indicator子控件对复选指示器进行样式设置。默认情况下,该指示器位于控件内容矩形的左上角。 spacing属性指定复选指示器与文本之间的间距。 示例请参见“自定义 QRadioButton”。 |
| QScrollBar | 支持盒子模型。 The Contents rectangle of the widget is considered to be the groove over which the slider moves. The extent of the QScrollBar (i.e the width or the height depending on the orientation) is set using the width or height property respectively. To determine the orientation, use the :horizontal and the :vertical pseudo states. 可以使用::handle子控件对滑块进行样式设置。设置min-width或min-height可根据滑块的朝向对其尺寸进行限制。 可以使用::add-line子控件对“添加行”按钮进行样式设置。 默认情况下,“添加行”子控件位于控件边框矩形的右上角。根据方向的不同,会显示::right-arrow或::down-arrow。默认情况下,这些箭头位于“添加行”子控件内容矩形的中心。 ::sub-line子控件可用于设置“减去一行”按钮的样式。默认情况下,sub-line 子控件位于小部件边框矩形的右下角。根据方向的不同,会显示::left-arrow或::down-arrow。 默认情况下,箭头位于“子行”子控件的“内容”矩形中心。 ::sub-page子控件可用于设置滑块中“减去一页”区域的样式。::add-page子控件可用于设置滑块中“增加一页”区域的样式。 示例请参见《自定义 QScrollBar》。 |
| QSizeGrip | 支持width、height 和image属性。 示例请参见“自定义 QSizeGrip”。 |
| QSlider | 支持盒模型。 对于水平滑块,必须提供min-width和height属性;对于垂直滑块,必须提供min-height和width属性。 滑块的凹槽使用::groove 进行样式设置。默认情况下,凹槽位于小部件的“内容”矩形内。滑块的滑块头使用::handle子控件进行样式设置。该子控件在凹槽子控件的“内容”矩形内移动。 请参阅“自定义 QSlider”中的示例。 |
| QSpinBox | 旋转框的边框可通过盒模型进行样式设置。 上键按钮和箭头可通过::up-button和::up-arrow子控件进行样式设置。默认情况下,上键按钮位于小部件内“填充”矩形的右上角。 若未显式指定大小,它将占据其参考矩形高度的一半。向上箭头位于向上按钮的“内容”矩形中心。 向下按钮和箭头可通过::down-button和::down-arrow子控件进行样式设置。 默认情况下,下按钮位于小部件“填充”矩形的右下角。若未显式指定大小,它将占据其参考矩形高度的一半。下箭头位于下按钮“内容”矩形的中心。 示例请参见《自定义 QSpinBox》。 |
| QSplitter | 支持盒模型。分隔线的控柄使用::handle子控件进行样式设置。 示例请参见“自定义 QSpinBox”。 |
| QStatusBar | 仅支持background属性。各个项目的边框可通过::item子控件进行样式设置。 示例请参见“自定义 QStatusBar”。 |
| QTabBar | 可通过::tab子控件为单个标签页设置样式。关闭按钮则使用::close-button。标签页支持:only-one、:first、:last、:middle、:previous–selected、:next-selected、:selected等伪状态。 :top、:left、:right、:bottom伪状态取决于选项卡的排列方向。 Overlapping tabs for the selected state are created by using negative margins or using the absolute position scheme. The tear indicator of the QTabBar is styled using the ::tear subcontrol. QTabBar used two QToolButtons for its scrollers that can be styled using the QTabBar QToolButton selector. To specify the width of the scroll button use the ::scroller subcontrol. The alignment of the tabs within the QTabBar is styled using the alignment property. 警告:若要 更改“QTabBar ”在“QTabWidget ”中的位置,请使用标签栏子控件(并设置 subcontrol-position)。 示例请参见“自定义 QTabBar”。 |
| QTabWidget | 选项卡控件的边框样式通过::pane子控件设置。左右角的样式分别通过::left-corner和::right-corner设置。选项卡栏的位置通过::tab-bar子控件控制。 By default, the subcontrols have positions of a QTabWidget in the windows style. To place the QTabBar in the center, set the subcontrol-position of the tab-bar subcontrol. 根据标签页的排列方向,会显示:top、:left、:right、:bottom伪状态。 示例请参见“自定义 QTabWidget”。 |
| QTableView | 支持盒模型。当启用alternating row colors 时,可通过alternate-background-color属性设置交替颜色样式。 选中项的颜色和背景色分别通过selection-color和 selection-background-color属性进行样式设置。 The corner widget in a QTableView is implemented as a QAbstractButton and can be styled using the "QTableView QTableCornerButton::section" selector. 警告:如果仅为 QTableCornerButton 设置了 background-color 属性,除非将 border 属性设置为某个值,否则背景可能不会显示。这是因为默认情况下,QTableCornerButton 会绘制一条原生边框,该边框会完全覆盖 background-color 设定的背景色。
|
| QTableWidget | 参见QTableView。 |
| QTextEdit | 支持盒模型。 选中文本的颜色和背景色分别通过selection-color和selection-background-color进行样式设置。 占位符文本的颜色可通过placeholder-text-color属性设置。 有关可滚动背景的样式设置,请参阅QAbstractScrollArea。 |
| QTimeEdit | 请参阅QSpinBox。 |
| QToolBar | 支持盒模型。 :top、:left、:right、:bottom伪状态取决于工具栏所属的区域。 :first、:last、:middle、:only-one伪状态指示工具栏在行组中的位置(参见QStyleOptionToolBar::positionWithinLine )。 The separator of a QToolBar is styled using the ::separator subcontrol. 通过::handle子控件为(用于移动工具栏的)手柄设置样式。 示例请参见《自定义 QToolBar》。 |
| QToolBox | 支持盒模型。 各个选项卡可通过::tab子控件进行样式设置。选项卡支持:only-one、:first、:last、:middle、:previous-selected、:next-selected、:selected等伪状态。 |
| QToolButton | 支持盒模型。 If the QToolButton has a menu, is ::menu-indicator subcontrol can be used to style the indicator. By default, the menu-indicator is positioned at the bottom right of the Padding rectangle of the widget. If the QToolButton is in QToolButton::MenuButtonPopup mode, the ::menu-button subcontrol is used to draw the menu button. ::menu-arrow subcontrol is used to draw the menu arrow inside the menu-button. By default, it is positioned in the center of the Contents rectangle of the menu-button subcontrol. When the QToolButton displays arrows, the ::up-arrow, ::down-arrow, ::left-arrow and ::right-arrow subcontrols are used. 警告:如果 仅为QToolButton 设置了background-color属性,除非将border属性设置为某个值,否则背景色将不会显示。这是因为默认情况下,QToolButton 会绘制一条原生边框,该边框会完全覆盖background-color。例如, 请参阅《自定义 QToolButton》中的示例。 |
| QToolTip | 支持盒模型。opacity属性控制工具提示的不透明度。 请参阅“自定义 QFrame”以获取示例(QToolTip 属于QFrame )。 |
| QTreeView | 支持盒模型。当alternating row colors 启用时,可通过alternate-background-color属性设置交替颜色样式。 选中项的颜色和背景色分别通过selection-color和 selection-background-color属性进行样式设置。 选中行为由show-decoration-selected属性控制。 树视图的分支可通过::branch子控件进行样式设置。::branch 子控件支持:open、:closed、:has-sibling和:has-children伪状态。 使用::item子控件可对QTreeView 中的项目进行更精细的控制。 请参阅QAbstractScrollArea以设置可滚动背景的样式。 请参阅《自定义 QTreeView》以获取设置分支样式的示例。 |
| QTreeWidget | 参见QTreeView。 |
| QWidget | 仅支持background、background-clip和background-origin属性。 If you subclass from QWidget, you need to provide a paintEvent for your custom QWidget as below: 如果未设置样式表,上述代码将不执行任何操作。 警告:请 确保为您的自定义控件定义了Q_OBJECT 宏。 |
属性列表
本节列出了 Qt 样式表支持的所有属性。属性可取的值取决于该属性的类型。除非另有说明,否则以下属性适用于所有小部件。 标有星号 * 的属性是 Qt 特有的,在 CSS2 或 CSS3 中没有对应项。Qt 特有的属性如下:
- gridline-color*
- image*
- lineedit-password-character*
- lineedit-password-mask-delay*
- 消息框文本交互标志*
- 不透明度*
- 占位符文本颜色*
- 选中区域背景色*
- 选中颜色*
- 显示选中装饰*
- 间距*
- 子控件原点*
- 子控件位置*
- 控件动画时长*
强调色
| 类型 | 画笔 |
该属性用于设置Accent ,该颜色用于突出显示交互式UI元素。如果未设置此属性,则默认采用highlight 颜色。
alternate-background-color
| 类型 | 画笔 |
在QAbstractItemView 子类中使用的alternate background color 。
如果未设置此属性,则默认值为调色板中“AlternateBase ”角色的设置值。
示例:
QTreeView {
alternate-background-color: blue;
background: yellow;
}另请参阅background和selection-background-color。
background
| 类型 | 背景 |
用于设置背景的简写语法。等同于指定background-color 、background-image 、background-repeat 和/或background-position 。
该属性受以下对象支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QDialog 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 、QToolTip ,以及普通的QWidget。
示例:
QTextEdit { background: yellow }通常,需要设置类似于Qt::BrushStyle 中所示样式的填充图案。对于Qt::SolidPattern 、Qt::RadialGradientPattern 、Qt::LinearGradientPattern 和Qt::ConicalGradientPattern ,您可以使用 background-color 属性。其他图案则可通过创建包含该图案的背景图像轻松实现。
示例:
QLabel {
background-image: url(dense6pattern.png);
background-repeat: repeat-xy;
}另请参阅background-origin、selection-background-color、background-clip、background-attachment和alternate-background-color。
background-color
| 类型 | 画笔 |
控件所使用的背景颜色。
示例:
background-image
| 类型 | URL |
用于该小部件的背景图像。图像中的半透明部分会让background-color 透出来。
示例:
QFrame { background-image: url(:/images/hydro.png) }background-repeat
| 类型 | 重复 |
背景图像是否以及如何重复以填充background-origin 矩形。
如果未指定此属性,背景图像将在两个方向上重复(repeat )。
示例:
QFrame {
background: white url(:/images/ring.png);
background-repeat: repeat-y;
background-position: left;
}background-position
| 类型 | 对齐方式 |
背景图像在background-origin 矩形内的对齐方式。
如果未指定此属性,对齐方式默认为top left 。
示例:
QFrame {
background: url(:/images/footer.png);
background-position: bottom left;
}background-attachment
| 类型 | 固定方式 |
确定QAbstractScrollArea 中的背景图像相对于视口是随视口滚动还是固定。默认情况下,背景图像会随视口滚动。
示例:
QTextEdit {
background-image: url("leaves.png");
background-attachment: fixed;
}另请参阅background
background-clip
| 类型 | 来源 |
控件的矩形区域,background 将在其中绘制。
此属性指定background-color 和background-image 被裁剪到的矩形范围。
该属性受以下对象支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QDialog 、QFrame 、QGroupBox 、QLabel 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 、QToolTip ,以及普通的QWidget。
如果未指定此属性,默认值为border 。
示例:
QFrame {
background-image: url(:/images/header.png);
background-position: top left;
background-origin: content;
background-clip: padding;
}另请参阅background、background-origin以及“框模型”。
background-origin
| 类型 | 起始点 |
控件的背景矩形,需与background-position 和background-image 配合使用。
该属性受以下对象支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QDialog 、QFrame 、QGroupBox 、QLabel 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 、QToolTip ,以及普通QWidget。
如果未指定此属性,默认值为padding 。
示例:
QFrame {
background-image: url(:/images/header.png);
background-position: top left;
background-origin: content;
}另请参阅background 和“盒模型”。
边框
| 类型 | 边框 |
用于设置控件边框的简写语法。相当于指定border-color 、border-style 和/或border-width 。
该属性受以下类支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 、QToolTip ,以及普通的QWidget。
示例:
QLineEdit { border: 1px solid white }border-top
| 类型 | 边框 |
用于设置控件顶部边框的简写语法。相当于指定border-top-color 、border-top-style 和/或border-top-width 。
border-right
| 类型 | 边框 |
用于设置控件右边框的简写语法。等同于指定border-right-color 、border-right-style 和/或border-right-width 。
border-bottom
| 类型 | 边框 |
用于设置控件底部边框的简写语法。等同于指定border-bottom-color 、border-bottom-style 和/或border-bottom-width 。
border-left
| 类型 | 边框 |
用于设置控件左边框的简写语法。等同于指定border-left-color 、border-left-style 和/或border-left-width 。
border-color
| 类型 | 框颜色 |
所有边框边缘的颜色。相当于指定border-top-color 、border-right-color 、border-bottom-color 和border-left-color 。
该属性受以下元素支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 、QToolTip 以及普通QWidget。
如果未指定此属性,则默认为color(即控件的前景色)。
示例:
QLineEdit {
border-width: 1px;
border-style: solid;
border-color: white;
}另请参阅border-style、border-width、border-image 以及“框模型”。
border-top-color
| 类型 | 画笔 |
边框顶边的颜色。
border-right-color
| 类型 | 画笔 |
边框右侧边缘的颜色。
border-bottom-color
| 类型 | 画笔 |
边框底边的颜色。
border-left-color
| 类型 | 画笔 |
边框左边缘的颜色。
边框图像
| 类型 | 边框图像 |
用于填充边框的图像。该图像将被分割为九个部分,并在必要时进行适当拉伸。详情请参阅“边框图像”。
该属性受以下类支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 以及QToolTip 。
另请参阅border-color、border-style、border-width 以及“框模型”。
border-radius
| 类型 | 半径 |
边框圆角的半径。相当于指定border-top-left-radius 、border-top-right-radius 、border-bottom-right-radius 和border-bottom-left-radius 。
border-radius 会裁剪元素的背景。
该属性受以下元素支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 以及QToolTip 。
如果未指定此属性,则默认值为 0。
示例:
QLineEdit {
border-width: 1px;
border-style: solid;
border-radius: 4px;
}另请参阅border-width和盒模型。
border-top-left-radius
| 类型 | 半径 |
边框左上角的圆角半径。
border-top-right-radius
| 类型 | 半径 |
边框右上角的圆角半径。
border-bottom-right-radius
| 类型 | 半径 |
边框右下角的圆角半径。将此属性设置为正值可使该角呈圆角。
border-bottom-left-radius
| 类型 | 半径 |
边框左下角的圆角半径。将此属性设置为正值会生成圆角。
边框样式
| 类型 | 边框样式 |
所有边框边缘的样式。
该属性受以下元素支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 以及QToolTip 。
如果未指定此属性,则默认值为none 。
示例:
QLineEdit {
border-width: 1px;
border-style: solid;
border-color: blue;
}另请参阅border-color、border-style、border-image 以及“框模型”。
border-top-style
| 类型 | 边框样式} |
边框顶边的样式。
border-right-style
| 类型 | 边框样式 |
边框右侧边缘的样式。
border-bottom-style
| 类型 | 边框样式 |
边框底边的样式。
border-left-style
| 类型 | 边框样式 |
边框左侧边缘的样式。
边框宽度
| 类型 | 框长度 |
边框的宽度。相当于设置border-top-width 、border-right-width 、border-bottom-width 和border-left-width 。
该属性受以下元素支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 以及QToolTip 。
示例:
QLineEdit {
border-width: 2px;
border-style: solid;
border-color: darkblue;
}另请参阅border-color、border-radius、border-style、border-image 以及“盒模型”。
border-top-width
| 类型 | 长度 |
边框顶部边缘的宽度。
border-right-width
| 类型 | 长度 |
边框右边的宽度。
border-bottom-width
| 类型 | 长度 |
边框底部边缘的宽度。
border-left-width
| 类型 | 长度 |
边框左边的宽度。
底部
| 类型 | 长度 |
如果位置为relative (默认值),则将子控件向上移动一定偏移量;指定 bottom: y 等同于指定 top: -y。
如果位置为absolute ,则bottom 属性指定子控件的底部边缘相对于父控件底部边缘的位置(另请参阅subcontrol-origin)。
示例:
QSpinBox::down-button { bottom: 2px }按钮布局
| 类型 | 数字 |
QDialogButtonBox 或QMessageBox 中按钮的布局。可能的取值为 0(WinLayout )、1(MacLayout )、2(KdeLayout )、3(GnomeLayout )和 5(AndroidLayout )。
如果未指定此属性,则其默认值为当前样式中为“SH_DialogButtonLayout ”样式提示指定的值。
示例:
* { button-layout: 2 }color
| 类型 | 画笔 |
用于渲染文本的颜色。
所有遵循QWidget::palette 规范的小部件均支持此属性。
如果未设置此属性,则默认值为小部件调色板中为QWidget::foregroundRole 设定的颜色(通常为黑色)。
示例:
QPushButton { color: red }另请参阅background和selection-color。
dialogbuttonbox-buttons-have-icons
| 类型 | 布尔值 |
QDialogButtonBox 中的按钮是否显示图标
如果此属性设置为 1,则QDialogButtonBox 中的按钮会显示图标;如果设置为 0,则不显示图标。
有关如何设置图标的信息,请参阅“图标列表”部分。
QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 1; }注意: 定义此属性的样式 必须在创建QDialogButtonBox 之前应用;这意味着您必须将该样式应用于父控件或应用程序本身。
font
| 类型 | 字体 |
用于设置文本字体的简写语法。相当于指定font-family 、font-size 、font-style 和/或font-weight 。
所有遵循QWidget::font 的控件均支持此属性。
如果未设置此属性,则默认值为QWidget::font 。
示例:
QCheckBox { font: bold italic large "Times New Roman" }font-family
| 字体 | 字符串 |
字体家族。
示例:
QCheckBox { font-family: "New Century Schoolbook" }字体大小
| 字体 | 字体大小 |
字体大小。在此版本的 Qt 中,仅支持 pt 和 px 单位。
示例:
QTextEdit { font-size: 12px }字体样式
| 字体 | 字体样式 |
字体样式。
示例:
QTextEdit { font-style: italic }font-weight
| 字体 | 字体粗细 |
字体的粗细。
网格线颜色*
| 字体类型 | 颜色 |
QTableView 中网格线的颜色。
如果未指定此属性,则默认采用当前样式中为SH_Table_GridLineColor 样式提示所指定的值。
示例:
* { gridline-color: gray }height
| 类型 | 长度 |
子控件(或在某些情况下,小部件)的高度。
如果未指定此属性,其默认值将取决于子控件/小部件以及当前样式。
警告:除非 另有说明,否则将此属性应用于控件时将无效。若要使控件具有固定高度,请将min-height和max-height设置为相同值。
示例:
QSpinBox::down-button { height: 10px }另请参阅width。
图标
| 类型 | Url+ |
用于具有图标的小部件的图标。
目前唯一支持此属性的组件是QPushButton 。
注意: 为按钮分配图标(使用QAbstractButton API)是 应用程序的责任,而非样式本身。因此,除非您的样式表针对特定应用程序,否则请谨慎设置此属性。
自 5.15 版本起提供。
icon-size
| 类型 | 长度 |
小部件中图标的宽度和高度。
可通过此属性设置以下控件的图标大小。
image*
| 类型 | 网址+ |
在子控件的内容矩形内绘制的图像。
image属性接受一个URL列表或svg 。实际绘制的图像采用与QIcon 相同的算法进行确定(即)图像绝不会被放大,但在必要时会进行缩小。 如果指定了svg ,图像将按内容矩形的大小进行缩放。svg 的大小可通过width 和height属性进行设置(自Qt 6.13起支持)。
在子控件上设置 image 属性会隐式地设置该子控件的 width 和 height 属性(除非该图像为 SVG 格式)。
使用image-position属性可在矩形内对齐图像。
此属性仅适用于子控件——我们不支持将其应用于其他元素。
警告: 需要安装QIcon 的 SVG插件才能渲染SVG图像。
示例:
// implicitly sets the size of down-button to the
// size of spindown.png
QSpinBox::down-button { image: url(:/images/spindown.png) }image-position
| 类型 | 对齐方式 |
可以通过相对定位或绝对定位来指定图像的位置对齐方式。
left
| 类型 | 长度 |
如果位置为relative (默认值),则将子控件向右移动一定偏移量。
如果position为absolute ,则left 属性指定子控件相对于父控件左边缘的位置(另请参见subcontrol-origin)。
如果未指定此属性,则其默认值为0 。
示例:
QSpinBox::down-button { left: 2px }字母间距
| 字体 | 长度 |
控件内字符串中字符之间的间距。
lineedit-password-character*
| 类型 | 数字 |
QLineEdit 密码字符的Unicode编码。
如果未指定此属性,则其默认值为当前样式中为“SH_LineEdit_PasswordCharacter ”样式提示指定的值。
示例:
* { lineedit-password-character: 9679 }lineedit-password-mask-delay*
| 类型 | 数字 |
在将 `lineedit-password-character` 应用于可见字符之前,QLineEdit 的密码掩码延迟(以毫秒为单位)。
如果未指定此属性,则默认采用当前样式中为“SH_LineEdit_PasswordMaskDelay ”样式提示指定的值。
自 Qt 5.4 起可用。
示例:
* { lineedit-password-mask-delay: 1000 }margin
| 类型 | 框长度 |
控件的边距。相当于指定margin-top 、margin-right 、margin-bottom 和margin-left 。
该属性受以下组件支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 以及QToolTip 。
如果未指定此属性,则默认值为0 。
示例:
QLineEdit { margin: 2px }margin-top
| 类型 | 长度 |
控件的顶部边距。
margin-right
| 类型 | 长度 |
控件的右边距。
margin-bottom
| 类型 | 长度 |
控件的底部边距。
margin-left
| 类型 | 长度 |
控件的左边距。
最大高度
| 类型 | 长度 |
控件或子控件的最大高度。
该属性受以下类支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSizeGrip 、QSpinBox 、QSplitter 、QStatusBar 、QTextEdit 以及QToolTip 。
该值是相对于盒模型中的内容矩形而言的。
示例:
QSpinBox { max-height: 24px }另请参阅max-width。
max-width
| 类型 | 长度 |
控件或子控件的最大宽度。
该属性受以下类支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSizeGrip 、QSpinBox 、QSplitter 、QStatusBar 、QTextEdit 以及QToolTip 。
该值相对于盒模型中的内容矩形。
示例:
QComboBox { max-width: 72px }另请参阅max-height。
messagebox-text-interaction-flags*
| 类型 | 数字 |
消息框中文本的交互行为。可能的值基于Qt::TextInteractionFlags 。
如果未指定此属性,则默认采用当前样式中为SH_MessageBox_TextInteractionFlags 样式提示指定的值。
示例:
QMessageBox { messagebox-text-interaction-flags: 5 }min-height
| 类型 | 长度 |
该控件或子控件的最小高度。
该属性受以下类支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSizeGrip 、QSpinBox 、QSplitter 、QStatusBar 、QTextEdit 、QToolButton 以及QToolTip 。
如果未指定此属性,则会根据控件的内容和样式计算出最小高度。
该值相对于盒模型中的内容矩形。
示例:
QComboBox { min-height: 24px }注意:设置 此属性可能会导致小部件的尺寸缩小到小于内容所需的空间。
另请参阅min-width。
min-width
| 类型 | 长度 |
控件或子控件的最小宽度。
该属性受以下类支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSizeGrip 、QSpinBox 、QSplitter 、QStatusBar 、QTextEdit 、QToolButton 以及QToolTip 。
如果未指定此属性,则会根据控件的内容和样式推算出最小宽度。
该值相对于盒子模型中的内容矩形。
示例:
QComboBox { min-width: 72px }注意:设置 此属性可能会导致小部件的尺寸缩小至小于内容所需的空间。
另请参阅min-height。
opacity*
| 类型 | 数字 |
控件的不透明度。取值范围为0(透明)到255(不透明)。目前,此属性仅支持tooltips 。
如果未指定此属性,则默认采用当前样式中SH_ToolTipLabel_Opacity 样式提示所指定的值。
示例:
QToolTip { opacity: 223 }outline
绘制在对象边界周围的轮廓。
轮廓颜色
| 类型 | 颜色 |
轮廓的颜色。另请参阅border-color
outline-offset
| 类型 | 长度 |
轮廓相对于控件边框的偏移量。
轮廓样式
指定用于绘制轮廓的样式。另请参阅border-style
outline-radius
为轮廓添加圆角。
outline-bottom-left-radius
| 类型 | 半径 |
轮廓左下角圆角的半径。
outline-bottom-right-radius
| 类型 | 半径 |
轮廓右下角圆角的半径。
outline-top-left-radius
| 类型 | 半径 |
轮廓左上角的圆角半径。
outline-top-right-radius
| 类型 | 半径 |
轮廓右上角圆角的半径。
内边距
| 类型 | 框长 |
控件的内边距。相当于指定padding-top 、padding-right 、padding-bottom 和padding-left 。
该属性受以下组件支持:QAbstractItemView 的子类、QAbstractSpinBox 的子类、QCheckBox 、QComboBox 、QFrame 、QGroupBox 、QLabel 、QLineEdit 、QMenu 、QMenuBar 、QPushButton 、QRadioButton 、QSplitter 、QTextEdit 以及QToolTip 。
如果未指定此属性,则默认值为0 。
示例:
QLineEdit { padding: 3px }padding-top
| 类型 | 长度 |
控件的顶部内边距。
padding-right
| 类型 | 长度 |
控件的右侧内边距。
padding-bottom
| 类型 | 长度 |
控件的底部内边距。
padding-left
| 类型 | 长度 |
控件的左侧内距。
为空区域交替绘制行颜色
| 类型 | bool |
QTreeView 是否为空区域(即没有项目的区域)绘制交替行颜色
placeholder-text-color*
| 类型 | 画笔 |
文本编辑控件中占位符文本所使用的颜色。
如果未设置此属性,其默认值即为调色板中“PlaceholderText ”角色的设置值。
示例:
QLineEdit { placeholder-text-color: #800000ff } /* semi-transparent blue */自 6.5 版起可用。
position
| 类型 | relative | absolute |
使用left、right、top 和bottom指定的偏移量是相对坐标还是绝对坐标。
如果未指定此属性,则默认值为relative 。
right
| 类型 | 长度 |
如果位置为relative (默认值),则将子控件向左移动一定偏移量;指定 right: x 等同于指定 left: -x。
如果position为absolute ,则right 属性指定子控件相对于父控件右边缘的右边缘位置(另请参阅subcontrol-origin)。
示例:
QSpinBox::down-button { right: 2px }selection-background-color*
| 类型 | 画笔 |
所选文本或项目的背景色。
所有遵守QWidget::palette 规范且会显示选中文本的小部件均支持此属性。
如果未设置此属性,则默认值为调色板中“Highlight ”角色的设置值。
示例:
QTextEdit { selection-background-color: darkblue }另请参阅selection-color和background。
selection-color*
| 类型 | 画笔 |
所选文本或项目的前景色。
所有遵循QWidget::palette 规范且会显示选中文字的控件均支持此属性。
如果未设置此属性,其默认值即为调色板中“HighlightedText ”角色的设置值。
示例:
QTextEdit { selection-color: white }另请参阅selection-background-color和color。
show-decoration-selected*
| 类型 | 布尔值 |
控制QListView 中的选中区域是覆盖整行还是仅覆盖文本范围。
如果未指定此属性,则默认采用当前样式中为“SH_ItemView_ShowDecorationSelected ”样式提示所指定的值。
示例:
* { show-decoration-selected: 1 }spacing*
| 类型 | 长度 |
控件内部的间距。
该属性受QCheckBox 、checkableQGroupBoxes、QMenuBar 以及QRadioButton 支持。
如果未指定此属性,其默认值取决于控件和当前样式。
示例:
QMenuBar { spacing: 10 }subcontrol-origin*
| 类型 | 原点 |
子控件在父元素内的原点矩形。
如果未指定此属性,则默认值为padding 。
示例:
QSpinBox::up-button {
image: url(:/images/spinup.png);
subcontrol-origin: content;
subcontrol-position: right top;
}另请参阅subcontrol-position。
subcontrol-position*
| 类型 | 对齐方式 |
子控件在由subcontrol-origin 指定的原点矩形内的对齐方式。
如果未指定此属性,其默认值将取决于子控件本身。
示例:
QSpinBox::down-button {
image: url(:/images/spindown.png);
subcontrol-origin: padding;
subcontrol-position: right bottom;
}另请参阅subcontrol-origin。
titlebar-show-tooltips-on-buttons
| 类型 | bool |
是否在窗口标题栏按钮上显示工具提示。
widget-animation-duration*
| 类型 | 数字 |
动画应持续多长时间(以毫秒为单位)。值为零表示将禁用动画。
如果未指定此属性,则默认采用当前样式中为SH_Widget_Animation_Duration 样式提示指定的值。
自 Qt 5.10 起可用。
示例:
* { widget-animation-duration: 100 }text-align
| 类型 | 对齐方式 |
小部件内容中文字和图标的对齐方式。
如果未指定此值,则默认采用取决于原生样式的值。
示例:
QPushButton {
text-align: left;
}该属性目前仅由QPushButton 和QProgressBar 支持。
text-decoration
| 类型 | none underline overline line-through |
其他文本效果。
顶部
| 字体 | 长度 |
如果位置为relative (默认值),则将子控件向下移动一定偏移量。
如果position为absolute ,则top 属性指定子控件的顶边相对于父控件顶边的坐标(另请参阅subcontrol-origin)。
如果未指定此属性,则默认值为0 。
示例:
QSpinBox::up-button { top: 2px }宽度
| 类型 | 长度 |
子控件(或在某些情况下为小部件)的宽度。
如果未指定此属性,其默认值将取决于子控件/小部件以及当前样式。
示例:
QSpinBox::up-button { width: 12px }另请参阅height。
word-spacing
| 类型 | 长度 |
控件内字符串中每个单词之间的间距。
-qt-background-role
| 类型 | 调色板角色 |
基于所选角色的子控件或小部件的background-color 。
-qt-style-features
| 类型 | list |
要应用 Qt 特定样式的 CSS 属性列表。
注意: list 只能包含非位图基的属性。
图标列表
Qt 中使用的图标可通过以下属性进行自定义。本节中列出的每个属性类型均为Icon。
请注意,若要让图标显示在QDialogButtonBox 中的按钮上,需要将 dialogbuttonbox-buttons-have-icons 属性设置为 true。此外,若要自定义图标的大小,请使用 icon-size 属性。
属性类型列表
下表总结了不同属性类型的语法和含义。
| 类型 | 语法 | 描述 | |
|---|---|---|---|
| 对齐 | {top | bottom | left | right | center }* | Horizontal and/or vertical alignment. Example: | |
| 附件 | {scroll | fixed }* | Scroll or fixed attachment. | |
| 背景 | {画笔 |网址 |重复 |对齐}* | 由“Brush”、“Url”、“Repeat”和“Alignment”组成的序列。 | |
| 布尔值 | 0 | 1 | 真(1 )或假(0 )。示例: | |
| 边框 | {边框样式 |长度 |画笔}* | 边框的简写属性。 | |
| 边框图像 | none |Url Number{4} ( stretch | repeat){0,2} | A border image is an image that is composed of nine parts (top left, top center, top right, center left, center, center right, bottom left, bottom center, and bottom right). When a border of a certain size is required, the corner parts are used as is, and the top, right, bottom, and left parts are stretched or repeated to produce a border with the desired size. See the CSS3 Draft Specification for details. | |
| 边框样式 | dashed | dot-dash | dot-dot-dash | dotted | double | groove | inset | outset | ridge | solid | none | Specifies the pattern used to draw a border. See the CSS3 Draft Specification for details. | |
| 框色 | Brush{1,4} | “Brush”可出现一至四次,分别指定框的顶边、右边、底边和左边。 如果未指定左侧颜色,则默认与右侧颜色相同。如果未指定底部颜色,则默认与顶部颜色相同。如果未指定右侧颜色,则默认与顶部颜色相同。 示例: | |
| 框的长度 | Length{1,4} | “长度”参数出现1至4次,分别指定框的顶边、右边、底边和左边。 如果未指定左侧长度,则将其视为与右侧长度相同;如果未指定底部长度,则将其视为与顶部长度相同;如果未指定右侧长度,则将其视为与顶部长度相同。 示例: | |
| 画笔 | 颜色 |渐变 |调色板角色 | 指定一种颜色、一种渐变或调色板中的一个条目。 | |
| 颜色 | rgb(r, g, b)| rgba(r, g, b, a) | hsv(h, s, v) | hsva(h, s, v, a) | hsl(h, s, l) | hsla(h, s, l, a) | #rrggbb | Color Name | 指定一种颜色,格式为 RGB(红、绿、蓝)、RGBA(红、绿、蓝、透明度)、HSV(色相、饱和度、明度)、HSVA(色相、饱和度、明度、透明度)、 HSL(色相、饱和度、明度)、HSLA(色相、饱和度、明度、透明度)或命名颜色。rgb() 或rgba() 语法可配合 0 到 255 之间的整数值或百分比使用。 在hsv() 、hsva() 、hsl() 或hsla() 中,s、v、l 和 a 的值必须都在 0-255 范围内,若使用百分比表示,则 h 的值必须在 0-359 范围内。自 5.13 版本起支持 HSL(A)。示例: 注意: 允许的 RGB颜色与 CSS 2.1 中允许的颜色相同,具体列表见此处。 | |
| 字体 | (字体样式|字重){0,2}字体大小字符串 | 字体简写属性。 | |
| 字体大小 | 长度 | 字体的尺寸。 | |
| 字体样式 | normal | italic | oblique | The style of a font. | |
| 字体粗细 | normal | bold | 100 | 200 ... | 900 | The weight of a font. | |
| Gradient | qlineargradient | qradialgradient | qconicalgradient | Specifies gradient fills. There are three types of gradient fills:
渐变在“对象边界模式”下进行指定。设想渲染渐变的框体,其左上角位于 (0, 0),右下角位于 (1, 1)。 随后,渐变参数以 0 到 1 之间的百分比形式指定。这些值会在运行时外推为实际的框坐标。可以指定位于边界框之外的值(例如 -0.6 或 1.8)。 警告:各色停点 必须按升序排列。 示例: | |
| 图标 | (Url(disabled |active |normal |selected)? (on |off)? )* | 一组网址,QIcon::Mode 和QIcon::State 。 示例: | |
| 长度 | 数字(px |pt |em |ex)? | 一个数字后跟一个度量单位。CSS 标准建议用户代理必须忽略包含非法值的声明。在 Qt 中,必须指定度量单位。为了与早期版本的 Qt 兼容,在大多数情况下,没有度量单位的数字会被视为像素。支持的单位包括:
不过,Qt XML 仅支持 | |
| 数字 | 十进制整数或实数 | 示例:0 、18 、+127 、-255 、12.34 、-.5 、0009 。 | |
| 来源 | margin | border | padding | content | Indicates which of four rectangles to use.
另请参阅“盒模型”。 | |
| PaletteRole | alternate-base | accent | base | bright-text | button | button-text | dark | highlight | highlighted-text | light | link | link-visited | mid | midlight | placeholder-text | shadow | text | tooltip-base | tooltip-text | window | window-text | 这些数值对应于控件中 `QPalette` 中的 `Color roles `。 例如, | |
| 半径 | Length{1, 2} | 长度参数出现一次或两次。如果只指定了一个长度,则将其用作定义该角的四分之一圆的半径。如果指定了两个长度,则第一个长度是四分之一椭圆的水平半径,而第二个长度是垂直半径。 | |
| 重复 | repeat-x | repeat-y | repeat | no-repeat | A value indicating the nature of repetition.
| |
| Url | url(filename) | filename 是本地磁盘上文件或通过Qt 资源系统存储的文件名称。设置图像会隐式地设置元素的宽度和高度。 |
伪状态列表
支持以下伪状态:
| 伪状态 | 描述 |
|---|---|
:active | 当控件位于活动窗口中时,会设置此状态。 |
:adjoins-item | 当QTreeView 的::branch与某个项目相邻时,会设置此状态。 |
:alternate | 当 `QAbstractItemView::alternatingRowColors()` 设置为 true 时,在绘制QAbstractItemView 的行时,每隔一行会设置此状态。 |
:bottom | 该项位于底部。例如,其选项卡位于底部的QTabBar 。 |
:checked | 该项目已选中。例如,checked 的QAbstractButton 状态。 |
:closable | 该项目可折叠。例如,QDockWidget 启用了QDockWidget::DockWidgetClosable 功能。 |
:closed | 该项目处于已关闭状态。例如,在QTreeView |
:default | 该项目为默认项。例如,default 中的QPushButton ,或QMenu 中的默认操作。 |
:disabled | 该项目为disabled 。 |
:editable | QComboBox 是可编辑的。 |
:enabled | 该项目是enabled 。 |
:exclusive | 该项目属于一个排他性项目组。例如,排他性QActionGroup 中的菜单项。 |
:first | 该项目是(列表中的)第一个。例如,QTabBar 中的第一个选项卡。 |
:flat | 该项目为扁平化结构。例如,flat 中的QPushButton 。 |
:floatable | 这些项目可以是悬浮的。例如,QDockWidget 已启用QDockWidget::DockWidgetFloatable 功能。 |
:focus | 该项目具有input focus 属性。 |
:has-children | 该项目有子项。例如,QTreeView 中的某个项目拥有子项。 |
:has-siblings | 该项目具有同级项目。例如,QTreeView 中的某个项目具有同级项目。 |
:horizontal | 该项目具有水平方向 |
:hover | 鼠标悬停在该项目上。 |
:indeterminate | 该项处于未确定状态。例如,QCheckBox 或QRadioButton 处于partially checked 状态。 |
:last | 该项目是(列表中的)最后一个。例如,QTabBar 中的最后一个选项卡。 |
:left | 该项目位于左侧。例如,标签页位于左侧的QTabBar 。 |
:maximized | 该项目处于最大化状态。例如,一个最大化的QMdiSubWindow 。 |
:middle | 该项目位于中间(在列表中)。例如,QTabBar 中既不在开头也不在结尾的选项卡。 |
:minimized | 该项目处于最小化状态。例如,一个已最小化的QMdiSubWindow 。 |
:movable | 该项目可以移动。例如,QDockWidget 已启用“QDockWidget::DockWidgetMovable ”功能。 |
:no-frame | 该项目没有边框。例如,一个无边框的QSpinBox 或QLineEdit 。 |
:non-exclusive | 该项目属于非排他性项目组。例如,非排他性QActionGroup 中的菜单项。 |
:off | 对于可切换的项目,此规则适用于处于“关闭”状态的项目。 |
:on | 对于可切换的项目,这适用于处于“开启”状态的小部件。 |
:only-one | 该项目是(列表中)唯一的。例如,QTabBar 中的一个孤立标签页。 |
:open | 该项目处于打开状态。例如,QTreeView 中的展开项目,或者菜单打开的QComboBox 或QPushButton 。 |
:next-selected | (列表中的)下一个项目已被选中。例如,QTabBar 中选中的标签页紧邻此项目。 |
:pressed | 该项目正被鼠标点击。 |
:previous-selected | (列表中的)上一个项目已被选中。例如,QTabBar 中的一个标签页,该标签页紧邻已选中的标签页。 |
:read-only | 该项目被标记为只读或不可编辑。例如,一个只读的QLineEdit 或一个不可编辑的QComboBox 。 |
:right | 该项目位于右侧。例如,标签页位于右侧的QTabBar 。 |
:selected | 该项目已被选中。例如,QTabBar 中的选中选项卡,或QMenu 中的选中项目。 |
:top | 该项目位于顶部。例如,QTabBar 的选项卡位于顶部。 |
:unchecked | 该控件是unchecked 。 |
:vertical | 该控件的排列方向为垂直。 |
:window | 该控件是一个窗口(即顶级控件) |
子控件列表
提供以下子控件:
| 子控件 | 描述 |
|---|---|
::add-line | 用于向QScrollBar 添加一行数据的按钮。 |
::add-page | QScrollBar 的滑块与“添加行”按钮之间的区域。 |
::branch | QTreeView 的分支指示器。 |
::chunk | QProgressBar 的进度块。 |
::close-button | QDockWidget 的关闭按钮或标签页QTabBar |
::corner | xml-ph-0000@deepl.internal 中两个滚动条之间的角QAbstractScrollArea |
::down-arrow | QComboBox 、QHeaderView (排序指示器)、QScrollBar 或QSpinBox 的向下箭头。 |
::down-button | QScrollBar 或QSpinBox 的向下按钮。 |
::drop-down | QComboBox 上的下拉按钮。 |
::float-button | xml-ph-0000@deepl.internal的浮动按钮。QDockWidget |
::groove | QSlider 的凹槽。 |
::indicator | QAbstractItemView 、QCheckBox 、QRadioButton 、可选中项QMenu 或可选中项QGroupBox 的指示器。 |
::handle | QScrollBar 、QSplitter 或QSlider 的控件(滑块)。 |
::icon | QAbstractItemView 或QMenu 的图标。 |
::item | QAbstractItemView 、QMenuBar 、QMenu 或QStatusBar 中的某项内容。 |
::left-arrow | QScrollBar 的左箭头。 |
::left-corner | QTabWidget 的左上角。例如,该控件可用于控制QTabWidget 中左上角小部件的位置。 |
::menu-arrow | 带有菜单的QToolButton 控件的箭头。 |
::menu-button | QToolButton 的菜单按钮。 |
::menu-indicator | QPushButton 的菜单指示符。 |
::right-arrow | QMenu 或QScrollBar 的右箭头。 |
::pane | QTabWidget 的窗格(框架)。 |
::right-corner | QTabWidget 的右下角。例如,此控件可用于控制QTabWidget 中右下角小部件的位置。 |
::scroller | QMenu 或QTabBar 的滚动条。 |
::section | QHeaderView 的部分区域。 |
::separator | QMenu 或QMainWindow 中的分隔符。 |
::sub-line | QScrollBar 中用于减少一行数据的按钮。 |
::sub-page | QScrollBar 中,滑块(控制柄)与子线之间的区域。 |
::tab | QTabBar 或QToolBox 的标签。 |
::tab-bar | QTabWidget 的标签栏。该子控件仅用于控制QTabBar 在QTabWidget 中的位置。使用::tab子控件设置标签样式。 |
::tear | QTabBar 的撕下指示器。 |
::tearoff | QMenu 的撕下指示器。 |
::text | QAbstractItemView 的文本内容。 |
::title | QGroupBox 或QDockWidget 的标题。 |
::up-arrow | QHeaderView (排序指示器)、QScrollBar 或QSpinBox 上的向上箭头。 |
::up-button | QSpinBox 的向上按钮。 |
有关如何自定义子控件的示例,请参阅《自定义 QPushButton 的菜单指示器子控件》。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.