Qt样式表参考

Qt样式表支持各种属性、伪状态和子控件,这使得可以自定义小部件的外观。

可定制的控件列表

以下表格列出了可使用样式表自定义的Qt小部件

控件如何定制
QAbstractScrollArea 支持盒模型

包括QAbstractScrollArea的所有派生类,包括QTextEditQAbstractItemView(所有视图类),都支持使用background-attachment实现可滚动的背景。将background-attachment设置为fixed将提供一个不会随视图滚动的背景图像。将background-attachment设置为scroll时,当滚动条移动时,背景图像会滚动。

请参阅定制QAbstractScrollArea示例。
QCheckBox 支持盒模型。复选标记可以使用::indicator子控件进行定制。默认情况下,复选标记放置在控件内容的左上角。

spacing属性指定了复选标记和文本之间的间距。

请参阅定制QCheckBox示例。
QColumnView 可以使用image属性来定制把手。

可以通过::left-arrow子控件和::right-arrow子控件来定制箭头指示器。
QComboBox 可以使用盒模型来定制ComboBox周围的框架。

可以使用::drop-down子控件来定制下拉按钮。默认情况下,下拉按钮放置在控件的填充矩形的右上角。

可以使用::down-arrow子控件来定制下拉按钮内的箭头标记。默认情况下,箭头放置在下拉子控件的内容矩形的中心。

可以使用placeholder-text-color属性来设置占位符文本的颜色。

请参阅定制QComboBox示例。
QDateEdit 请参阅QSpinBox
QDateTimeEdit 请参阅QSpinBox
QDialog 仅支持背景背景裁剪背景基点属性。

警告:请确保为您的自定义小部件定义了Q_OBJECT宏。

QDialogButtonBox 可以使用按钮布局属性修改按钮布局。
QDockWidget 支持停靠时修改标题栏和标题栏按钮的样式。

可以使用边框属性为停靠小部件设置样式。可以使用::title子控件来自定义标题栏。使用::close-button::float-button分别来定位关闭和浮动按钮。

当标题栏垂直时,会设置:vertical伪类。同时,根据QDockWidget::DockWidgetFeature,还会设置:closable:floatable:movable伪状态。

注意:使用QMainWindow::separator来设置调整大小的手柄样式。

警告:QDockWidget未停靠时,样式表不起作用,因为Qt在未停靠时使用原生顶级窗口。

请参阅自定义QDockWidget以获取示例。

QDoubleSpinBox 请参阅QSpinBox
QFrame 支持盒模型

从4.3版本开始,在QLabel上设置样式表会自动设置QFrame::frameStyle属性为QFrame::StyledPanel

请参阅自定义QFrame以获取示例。
QGroupBox 支持盒模型

可以使用::title子控件来设置标题样式。默认情况下,标题的位置取决于QGroupBox::textAlignment。

在可复选的QGroupBox的情况下,标题包括复选指示器。可以使用::indicator子控件来设置指示器的样式。可以使用间距属性来控制文本和指示器之间的间距。

请参阅自定义QGroupBox以获取示例。
QHeaderView 支持盒模型

页眉视图的各个部分使用 ::section 子控件进行样式设计。该 section 子控件支持 :middle:first:last:only-one:next-selected:previous-selected:selected:checked 伪状态。

排序指示符可以使用 ::up-arrow::down-arrow 子控件进行样式设计。

请参阅 自定义 QHeaderView 以获取示例。
QLabel 支持 盒模型。不支持 :hover 伪状态。

从4.3版本开始,在QLabel上设置样式表会自动设置QFrame::frameStyle属性为QFrame::StyledPanel

请参阅 自定义 QFrame 以获取示例(QLabel 是从 QFrame 继承而来的)。
QLineEdit 支持盒模型

使用 selection-colorselection-background-color 分别对选定条目的颜色和背景进行样式设计。

可以使用placeholder-text-color属性来设置占位符文本的颜色。

使用 lineedit-password-character 属性对密码字符进行样式设计。

使用 lineedit-password-mask-delay 改变密码掩码延迟。

请参阅 自定义 QLineEdit 以获取示例。
QListView 支持盒模型

当启用 交替行颜色 时,可以使用 alternate-background-color 属性样式设计交替颜色。

使用 selection-colorselection-background-color 分别对选定条目的颜色和背景进行样式设计。

选择行为由 show-decoration-selected 属性控制。

使用 ::item 子控件对 QListView 中的条目进行更精细的控制。

请参阅 QAbstractScrollArea 以样式设计可滚动的背景。

请参阅 自定义 QListView 以获取示例。
QListWidget 请参阅 QListView
QMainWindow 支持分隔符的样式设计。

当使用 QDockWidget 时,QMainWindow 中的分隔符使用 ::separator 子控件进行样式设计。

请参阅 自定义 QMainWindow 以获取示例。
QMenu 支持盒模型

单独的项目使用 ::item 子控件进行样式设计。除了通常支持的伪状态外,item 子控件还支持 :selected:default:exclusivenon-exclusive 伪状态。

可检查菜单项的指示符使用 ::indicator 子控件进行样式设计。

分隔符使用 ::separator 子控件进行样式设计。

对于具有子菜单的项目,箭头标记使用 right-arrowleft-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 属性设置为覆盖按钮图标。

对于具有菜单的 QPushButton,菜单指示器通过 ::menu-indicator 子控件进行样式定义。可检查按钮的外观可以通过 :open:closed 伪状态进行自定义。

警告: 如果您只在 QPushButton 上设置了背景色,除非您设置边框属性为某个值,否则背景可能不会显示。这是因为在默认情况下,QPushButton 绘制了原生的边框,该边框完全覆盖了背景色。例如,

QPushButton { background-color: red; border: none; }

参见 自定义 QPushButton 以获取示例。

QRadioButton 支持盒模型

可以使用 ::indicator 子控件来对勾选指示器进行样式定义。默认情况下,指示器放置在控件内容矩形的左上角。

spacing属性指定了复选标记和文本之间的间距。

参见 自定义 QRadioButton 以获取示例。
QScrollBar 支持盒模型

控件的内容矩形被认为是滑动条移动的槽。使用 widthheight 属性分别设置 QScrollBar 的尺寸(即宽度或高度,取决于方向)。要确定方向,请使用 :horizontal:vertical 伪状态。

可以使用 ::handle 子控件来对滑动条进行样式定义。设置 min-widthmin-height 为滑动条提供尺寸约束,具体取决于方向。

可以通过使用 ::add-line 子控件来为添加行的按钮添加样式。默认情况下,添加行的子控件放置在小部件边框矩形的右上角。根据方向,将放置 ::right-arrow::down-arrow。默认情况下,箭头放置在添加行子控件的内容矩形中心。

可以通过使用 ::sub-line 子控件来为减去行的按钮添加样式。默认情况下,减去行的子控件放置在小部件边框矩形的右下角。根据方向,将放置 ::left-arrow::up-arrow。默认情况下,箭头放置在减去行子控件的内容矩形中心。

可以使用 ::sub-page 子控件来为滑块中减去页面的区域添加样式。《a href="stylesheet-reference.html#add-page-sub" translate="no">::add-page 子控件可以用于为添加页面的滑块区域添加样式。

请参阅"自定义 QScrollBar" 的例子。
QSizeGrip 支持 widthheightimage 属性。

请参阅"自定义 QSizeGrip" 的例子。
QSlider 支持盒模型

对于水平滑动条,必须提供 min-widthheight 属性。对于垂直滑动条,必须提供 min-heightwidth 属性。

使用 ::groove 子控件来为滑动条的凹槽添加样式。凹槽默认定位在小部件的内容矩形内。使用 ::handle 子控件为滑动条的滑块添加样式。子控件在凹槽子控件的内容矩形内移动。

请参阅"自定义 QSlider" 的例子。
QSpinBox 可以使用 box model 为旋转框的框架添加样式。

可以使用 ::up-button::up-arrow 子控件为向上按钮和箭头添加样式。默认情况下,向上按钮放置在小部件填充矩形的右上角。如果没有明确指定大小,它将占据其引用矩形高度的一半。向上箭头放置在向上按钮的内容矩形中心。

可以使用 ::down-button::down-arrow 子控件为向下按钮和箭头添加样式。默认情况下,向下按钮放置在小部件填充矩形的右下角。如果没有明确指定大小,它将占据其引用矩形高度的一半。向下箭头放置在向下按钮的内容矩形中心。

请参阅"自定义 QSpinBox" 的例子。
QSplitter 支持 box model。使用 ::handle 子控件为拆分器的手柄添加样式。

请参阅"自定义 QSplitter" 的例子。
QStatusBar 仅支持 背景 属性。可以使用 ::item 子控件来设置单个项目的框架样式。

请参阅 自定义 QStatusBar 的示例。
QTabBar 可以使用 ::tab 子控件来设置单个标签的样式。关闭按钮使用 ::close-button。标签支持 :only-one:first:last:middle:previous–selected:next-selected:selected 伪状态。

根据标签的方向,支持 :top:left:right:bottom 伪状态。

通过使用负边距或使用 absolute 定位方案来创建选定状态的叠加标签。

使用 ::tear 子控件来设置 QTabBar 的撕裂指示器样式。

QTabBar 使用两个 QToolButton 作为其滚动按钮,可以通过 QTabBar QToolButton 选择器来设置样式。要指定滚动按钮的宽度,请使用 ::scroller 子控件。

使用 alignment 属性来设置 QTabBar 内标签的对齐方式。

警告:要改变 QTabBarQTabWidget 中的位置,请使用 tab-bar 子控件(并设置子控件位置)。

请参阅 自定义 QTabBar 的示例。

QTabWidget 使用 ::pane 子控件设置标签小部件的框架样式。使用 ::left-corner::right-corner 分别设置左右角落样式。通过 ::tab-bar 子控件控制标签栏的位置。

默认情况下,子控件的位置为 QWindowsStyle 中的 QTabWidget。要将 QTabBar 放在中间,请设置标签栏子控件的子控件位置。

根据标签的方向,支持 :top:left:right:bottom 伪状态。

请参阅 自定义 QTabWidget 的示例。
QTableView 支持 盒模型。当启用 交替行颜色 时,可以使用 alternate-background-color 属性来设置交替颜色。

使用 selection-colorselection-background-color 分别对选定条目的颜色和背景进行样式设计。

QTableView 中的角落小部件实现为 QAbstractButton,可以使用 "QTableView QTableCornerButton::section" 选择器来设置样式。

警告:如果你只为 QTableCornerButton 设置背景颜色,除非你设置边框属性为某个值,否则背景可能不显示。这是因为默认情况下,QTableCornerButton 绘制了原生边框,它完全覆盖了背景颜色。


可以使用 gridline-color 属性来指定网格颜色。

请参阅 QAbstractScrollArea 以样式设计可滚动的背景。

请参阅 自定义 QTableView 的示例。

QTableWidget QTableView
QTextEdit 支持盒模型

选中文本的颜色和背景通过使用selection-colorselection-background-color分别进行样式设置。

可以使用placeholder-text-color属性来设置占位符文本的颜色。

请参阅 QAbstractScrollArea 以样式设计可滚动的背景。
QTimeEdit 请参阅QSpinBox
QToolBar 支持盒模型

:top:left:right:bottom伪状态取决于工具栏分组所在的区域。

:first:last:middle:only-one伪状态指示工具栏在行组内的位置(见QStyleOptionToolBar::positionWithinLine)。

使用::separator子控件对手柄QToolBar的间隔进行样式设置。

使用::handle子控件对手柄(用于移动工具栏)进行样式设置。

参见定制QToolBar的例子。
QToolButton 支持盒模型

如果QToolButton有菜单,可以使用::menu-indicator子控件来设置指示器的样式。默认情况下,菜单指示器位于小部件填充矩形的右下角。

如果QToolButton处于QToolButton::MenuButtonPopup模式,则使用::menu-button子控件来实现绘制菜单按钮。::menu-arrow子控件用于绘制菜单按钮内部的箭头。默认情况下,它位于菜单按钮子控件内容矩形的中部。

QToolButton显示箭头时,使用::up-arrow::down-arrow::left-arrow::right-arrow子控件。

注意:如果只为QToolButton设置背景颜色,则背景不会出现,除非将边框属性设置为一个值。这是因为,默认情况下,QToolButton绘制一个原生边框,该边框完全覆盖了背景色。例如:

QToolButton { background-color: red; border: none; }

参见定制QToolButton的例子。

QToolBox 支持盒模型

可以使用::tab子控件对单独的标签进行样式设置。标签支持:only-one:first:last:middle:previous-selected:next-selected:selected伪状态。
QToolTip 支持盒模型。属性opacity控制工具提示的透明度。

参见定制QFrame的例子(QToolTipQFrame)。
QTreeView 支持 盒模型。当启用 交替行颜色 时,可以使用 alternate-background-color 属性来设置交替颜色。

使用 selection-colorselection-background-color 分别对选定条目的颜色和背景进行样式设计。

选择行为由 show-decoration-selected 属性控制。

可以使用::branch子控件来设置树视图的分支样式。::branch子控件支持:open:closed:has-sibling:has-children伪状态。

使用::item子控件来对QTreeView中的项进行更细粒度的控制。

请参阅 QAbstractScrollArea 以样式设计可滚动的背景。

有关如何风格化分支的示例,请参阅自定义QTreeView
QTreeWidget 请参阅QTreeView
QWidget 仅支持背景背景裁剪背景基点属性。

如果从QWidget派生类,您需要为自定义QWidget提供如下paintEvent:
void CustomWidget::paintEvent(QPaintEvent *)
{
    QStyleOption opt;
    opt.initFrom(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

如果没有设置样式表,上述代码为空操作。

警告:请确保为您的自定义小部件定义了Q_OBJECT宏。

属性列表

本节列出Qt样式表支持的所有属性。属性的值取决于属性类型。除非另有说明,以下属性适用于所有小部件。标记有星号*的属性是Qt特有的,在CSS2或CSS3中没有等效属性。Qt特有的属性如下

accent-color

类型画刷

该属性设置Accent,用于强调交互式UI元素。如果没有设置此属性,则默认为highlight颜色。

alternate-background-color

类型画刷

用于QAbstractItemView子类的替代背景颜色。

如果没有设置此属性,默认值是设置的颜色表的AlternateBase角色的颜色。

示例

QTreeView {
    alternate-background-color: blue;
    background: yellow;
}

另请参阅背景选择背景颜色

background

类型背景

用于设置背景的简写表示法。等同于指定background-colorbackground-imagebackground-repeat和/或background-position

此属性由QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQDialogQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip和平面QWidget支持。

示例

QTextEdit { background: yellow }

通常,需要设置类似于Qt::BrushStyle风格模式的填充图案。您可以使用background-color属性为Qt::SolidPattern、Qt::RadialGradientPattern、Qt::LinearGradientPattern以及Qt::ConicalGradientPattern设置填充图案。通过创建包含该图案的背景图像,可以轻松实现其他图案。

示例

QLabel {
    background-image: url(dense6pattern.png);
    background-repeat: repeat-xy;
}

另请参阅background-origin、selection-background-color、background-clip、background-attachment以及alternate-background-color。

background-color

类型画刷

小部件使用的背景颜色。

示例

QLabel { background-color: yellow }
QLineEdit { background-color: rgb(255, 0, 0) }

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以及plain QWidget支持。

如果未指定此属性,则默认为border。

示例

QFrame {
    background-image: url(:/images/header.png);
    background-position: top left;
    background-origin: content;
    background-clip: padding;
}

另请参阅background、background-origin和The Box Model。

background-origin

类型起点

控件背景矩形,用于与background-position和background-image结合使用。

此属性由QAbstractItemView子类、QAbstractSpinBox子类、QCheckBox、QComboBox、QDialog、QFrame、QGroupBox、QLabel、QPushButton、QRadioButton、QSplitter、QTextEdit、QToolTip以及plain QWidget支持。

如果未指定此属性,则默认为padding。

示例

QFrame {
    background-image: url(:/images/header.png);
    background-position: top left;
    background-origin: content;
}

另请参阅background和The Box Model。

border

类型边框

设置控件边框的简写符号。等同于指定border-color、border-style和/或border-width。

此属性由QAbstractItemView派生类、QAbstractSpinBox派生类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip和纯QWidget支持。

示例

QLineEdit { border: 1px solid white }

border-top

类型边框

设置控件顶部边框的缩写形式。相当于指定border-top-colorborder-top-style和/或border-top-width

border-right

类型边框

设置控件右侧边框的缩写形式。相当于指定border-right-colorborder-right-style和/或border-right-width

border-bottom

类型边框

设置控件底部边框的缩写形式。相当于指定border-bottom-colorborder-bottom-style和/或border-bottom-width

border-left

类型边框

设置控件左侧边框的缩写形式。相当于指定border-left-colorborder-left-style和/或border-left-width

border-color

类型框颜色

所有边框边缘的颜色。相当于指定border-top-colorborder-right-colorborder-bottom-colorborder-left-color

此属性由QAbstractItemView派生类、QAbstractSpinBox派生类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip和纯QWidget支持。

如果未指定此属性,则默认为color(即控件的文字颜色)。

示例

QLineEdit {
    border-width: 1px;
    border-style: solid;
    border-color: white;
}

另请参阅border-styleborder-widthborder-image盒模型

border-top-color

类型画刷

边框顶部边缘的颜色。

border-right-color

类型画刷

边框右侧边缘的颜色。

border-bottom-color

类型画刷

边框底部边缘的颜色。

border-left-color

类型画刷

边框左侧边缘的颜色。

border-image

类型边框图像

用于填充边框的图像。图像被切割成九部分,并在必要时进行拉伸。有关详细信息,请参阅边框图像

此属性由QAbstractItemView派生类、QAbstractSpinBox派生类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip支持。

参阅border-colorborder-styleborder-width以及盒模型

border-radius

类型半径

边框角落的半径。相当于指定border-top-left-radiusborder-top-right-radiusborder-bottom-right-radiusborder-bottom-left-radius

border-radius裁剪元素的区域。

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip

如果未指定此属性,则默认值为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

类型半径

边框左下角的半径。设置此属性为正值将会呈现圆角。

border-style

类型边框样式

所有边框的样式。

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip

如果未指定此属性,则默认为none

示例

QLineEdit {
    border-width: 1px;
    border-style: solid;
    border-color: blue;
}

参阅border-colorborder-styleborder-image盒模型

border-top-style

类型边框样式}

边框上边的样式。

border-right-style

类型边框样式

边框右边框的样式。

border-bottom-style

类型边框样式

边框底边的样式。

border-left-style

类型边框样式

边框左边的样式。

border-width

边框的宽度。相当于设置border-top-widthborder-right-widthborder-bottom-widthborder-left-width

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip

示例

QLineEdit {
    border-width: 2px;
    border-style: solid;
    border-color: darkblue;
}

参阅border-colorborder-radiusborder-styleborder-image盒模型

border-top-width

类型长度

边框上边的宽度。

border-right-width

类型长度

边框右边距的宽度。

border-bottom-width

类型长度

边框下边距的宽度。

border-left-width

类型长度

边框左边距的宽度。

bottom

类型长度

如果 positionrelative(默认值), 将子控件移动一定偏移量向上;指定 bottom: y 等同于指定 top: -y

如果 positionabsolute, bottom 属性指定子控件的底部边缘相对于父控件的底部边缘位置(另见 subcontrol-origin)。

示例

QSpinBox::down-button { bottom: 2px }

另见 leftrighttop

button-layout

类型Number

QDialogButtonBoxQMessageBox 中按钮的布局。可能的值有 0 (WinLayout)、1 (MacLayout)、2 (KdeLayout)、3 (GnomeLayout)和 5 (AndroidLayout)。

如果没有指定此属性,则默认为当前风格为 SH_DialogButtonLayout 风格提示指定的值。

示例

* { button-layout: 2 }

color

类型画刷

用于渲染文本的颜色。

此属性由尊重 QWidget::palette 的所有小部件支持。

如果没有设置此属性,则默认值为小部件调色板为 QWidget::foregroundRole 设置的值(通常是黑色)。

示例

QPushButton { color: red }

另见 backgroundselection-color

dialogbuttonbox-buttons-have-icons

类型Boolean

QDialogButtonBox 中的按钮是否显示图标

如果此属性设置为 1,则 QDialogButtonBox 中的按钮显示图标;如果设置为 0,则不显示图标。

有关如何设置图标的信息,请参阅 图标列表 部分。

QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 1; }

注意:定义此属性的样式必须在创建 QDialogButtonBox 之前应用;这意味着您必须将样式应用于父小部件或应用于应用程序本身。

font

类型Font

设置文本字体的简写表示。相当于指定 font-familyfont-sizefont-style 和/或 font-weight

此属性由尊重 QWidget::font 的所有小部件支持。

如果没有设置此属性,则默认为 QWidget::font

示例

QCheckBox { font: bold italic large "Times New Roman" }

font-family

类型String

字体族。

示例

QCheckBox { font-family: "New Century Schoolbook" }

font-size

类型Font Size

字体大小。在本版 Qt 中,仅支持 pt 和 px 度量。

示例

QTextEdit { font-size: 12px }

font-style

类型Font Style

字体样式。

示例

QTextEdit { font-style: italic }

font-weight

类型Font Weight

字体重量。

gridline-color*

类型颜色

QTableView中的网格线颜色。

如果未指定此属性,则默认为当前样式指定的SH_Table_GridLineColor样式提示的值。

示例

* { gridline-color: gray }

height

类型长度

子控件的宽度(或在某些情况下,小部件)。

如果未指定此属性,则默认为依赖于子控件/小部件和当前样式的值。

警告:除非另有说明,否则在设置小部件时此属性没有任何效果。如果您想设置固定高度的小部件,请将min-heightmax-height设置为相同值。

示例

QSpinBox::down-button { height: 10px }

另请参阅宽度

icon

类型Url+

用于具有图标的控件中的图标。

目前唯一支持此属性的小部件是QPushButton

注意:为按钮分配图标(使用QAbstractButton API)是应用程序的职责,而不是样式的职责。因此,除非您的样式表针对特定应用程序,否则请谨慎设置。

自5.15版起提供。

icon-size

类型长度

控件中图标的宽度和高度。

可以使用此属性设置以下小部件的图标尺寸。

image*

类型Url+

绘制在子控件内容矩形内的图像。

图像属性接受Url列表或svg。绘制的实际图像将使用与QIcon相同的算法确定(即图像永远不会放大,但在必要时将其缩小。如果指定svg,则图像将调整到内容矩形的尺寸。

在子控件上设置图像属性会隐式设置子控件的宽度和高度(除非SVG中的图像)。

在Qt 4.3及更高版本中,可以使用image-position指定图像在矩形中的对齐方式。

此属性仅适用于子控件——我们不支持其他元素。

警告:渲染SVG图像需要QIcon SVG插件。

示例

// implicitly sets the size of down-button to the
// size of spindown.png
QSpinBox::down-button { image: url(:/images/spindown.png) }

image-position

类型对齐方式

在Qt 4.3及更高版本中,可以使用相对或绝对位置指定图像对齐位置。

left

类型长度

如果position设置为relative(默认值),则将子控件沿右侧移动一定的偏移量。

如果position设置为absolute,则左属性指定子控件左边缘相对于父控件左边缘的位置(另请参阅subcontrol-origin)。

如果未指定此属性,则默认为0

示例

QSpinBox::down-button { left: 2px }

另请参阅righttopbottom

lineedit-password-character*

类型Number

QLineEdit的密码字符表示为一个Unicode编号。

如果未指定此属性,则默认为当前样式为SH_LineEdit_PasswordCharacter样式提示指定的值。

示例

* { lineedit-password-character: 9679 }

lineedit-password-mask-delay*

类型Number

QLineEdit将密码字符应用于可见字符之前的延迟(以毫秒为单位)。

如果未指定此属性,则默认为当前样式为SH_LineEdit_PasswordMaskDelay样式提示指定的值。

自Qt 5.4起可用。

示例

* { lineedit-password-mask-delay: 1000 }

margin

小部件的边距。相当于指定margin-topmargin-rightmargin-bottommargin-left

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip

如果未指定此属性,则默认为0

示例

QLineEdit { margin: 2px }

另请参阅填充间距盒模型

margin-top

类型长度

小部件的上边距。

margin-right

类型长度

小部件的右边距。

margin-bottom

类型长度

小部件的下边距。

margin-left

类型长度

小部件的左边距。

max-height

类型长度

小部件或子控件的最大高度。

此属性由QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolTip支持。

值相对于盒模型中的内容矩形。

示例

QSpinBox { max-height: 24px }

另请参阅最大宽度

max-width

类型长度

小部件或子控件的最大宽度。

此属性由QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolTip支持。

值相对于盒模型中的内容矩形。

示例

QComboBox { max-width: 72px }

另请参阅最大高度

messagebox-text-interaction-flags*

类型Number

消息框中文本的交互行为。可能的值基于Qt::TextInteractionFlags

如果未指定此属性,则默认为当前样式为SH_MessageBox_TextInteractionFlags样式提示指定的值。

示例

QMessageBox { messagebox-text-interaction-flags: 5 }

min-height

类型长度

小部件或子控件的最小高度。

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolButtonQToolTip

如果未指定此属性,则最小高度根据小部件的内容和样式推导得出。

值相对于盒模型中的内容矩形。

示例

QComboBox { min-height: 24px }

注意:设置此属性可能会使小部件比内容所需的空间更小。

另请参阅 min-width

min-width

类型长度

小部件或子控件的最小宽度。

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolButtonQToolTip

如果未指定此属性,则最小宽度根据小部件的内容和样式推导得出。

值相对于盒模型中的内容矩形。

示例

QComboBox { min-width: 72px }

注意:设置此属性可能会使小部件比内容所需的空间更小。

另请参阅 min-height

opacity*

类型Number

小部件的不透明度。可能的值从 0(透明)到 255(不透明)。目前,这仅支持 ToolTips

如果未指定此属性,则默认为 SH_ToolTipLabel_Opacity 样式提示指定的值。

示例

QToolTip { opacity: 223 }

outline

绘制在对象边框周围的轮廓。

outline-color

类型颜色

轮廓的颜色。另请参阅 border-color

outline-offset

类型长度

轮廓与小部件边框的偏移量。

outline-style

指定用于绘制轮廓的图案。另请参阅 border-style

outline-radius

为轮廓添加圆角。

outline-bottom-left-radius

类型半径

轮廓底部左圆角的半径。

outline-bottom-right-radius

类型半径

轮廓底部右圆角的半径。

outline-top-left-radius

类型半径

轮廓顶部左圆角的半径。

outline-top-right-radius

类型半径

轮廓顶部右圆角的半径。

padding

小部件的填充。相当于指定 padding-toppadding-rightpadding-bottompadding-left

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip

如果未指定此属性,则默认为0

示例

QLineEdit { padding: 3px }

另请参阅 marginspacing盒模型

padding-top

类型长度

小部件的顶部填充。

padding-right

类型长度

小部件的右侧填充。

padding-bottom

类型长度

小部件的底部填充。

padding-left

类型长度

小部件的左侧填充。

paint-alternating-row-colors-for-empty-area

类型布尔值

QTreeView 是否为空区域(即没有项目的地方)绘制交替行颜色。

占位文本颜色

类型画刷

用于文本编辑小部件占位文本的颜色。

如果未设置此属性,则默认值为调色板的 PlaceholderText 角色设置的值。

示例

QLineEdit { placeholder-text-color: #800000ff } /* semi-transparent blue */

自 6.5 版本起可用。

位置

类型相对
| 绝对

使用 leftrighttopbottom 指定偏移量时,是否为相对或绝对坐标。

如果未指定此属性,则默认为 relative

类型长度

如果 positionrelative(默认值),则通过一定偏移量向左移动子控件;指定 right: x 相当于指定 left: -x

如果 positionabsolute,则 right 属性指定子控件相对于父控件右边缘的位置(另见 subcontrol-origin)。

示例

QSpinBox::down-button { right: 2px }

另请参阅 lefttopbottom

选择的背景颜色

类型画刷

所选文本或项的背景。

此属性由所有尊重 QWidget::palette 并且显示选择文本的小部件支持。

如果未设置此属性,则默认值为调色板 Highlight 角色设置的值。

示例

QTextEdit { selection-background-color: darkblue }

另请参阅 selection-colorbackground

选择的颜色

类型画刷

所选文本或项的前景色。

此属性由所有尊重 QWidget::palette 并且显示选择文本的小部件支持。

如果未设置此属性,则默认值为调色板 HighlightedText 角色设置的值。

示例

QTextEdit { selection-color: white }

另请参阅 selection-background-colorcolor

显示选择的装饰*a class="plink" href="#show-decoration-selected" title="直接链接到此标题">

类型Boolean

控制 QListView 中的选择是否覆盖整个行或仅覆盖文本范围。

如果未指定此属性,则默认为当前样式指定的 SH_ItemView_ShowDecorationSelected 风格提示的值。

示例

* { show-decoration-selected: 1 }

间距

类型长度

小部件内部间距。

此属性由 QCheckBox、可勾选的 QGroupBoxQMenuBarQRadioButton 支持。

如果未指定此属性,则默认值取决于小部件和当前样式。

示例

QMenuBar { spacing: 10 }

另请参阅 paddingmargin

子控件原点

类型起点

子控件在父元素中的原点矩形。

如果未指定此属性,则默认为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

类型布尔值

是否在窗口标题栏按钮上显示工具提示。

widget-animation-duration*

类型Number

动画应持续多长时间(以毫秒为单位)。值等于零表示将禁用动画。

如果没有指定此属性,它将默认为当前样式为 SH_Widget_Animation_Duration 风格提示指定的值。

自 Qt 5.10 开始支持。

示例

* { widget-animation-duration: 100 }

text-align

类型对齐

在控件内容中文本和图标的对齐方式。

如果没有指定此值,它将默认为依赖于本地样式的值。

示例

QPushButton {
    text-align: left;
}

此属性当前仅由 QPushButtonQProgressBar 支持。

text-decoration

类型none
underline
overline
line-through

其他文本效果。

top

类型长度

如果 positionrelative(默认值),则通过一定的偏移量向下移动子控件。

如果 positionabsolute,则 top 属性指定子控件的顶边相对于父控件的顶边(另请参阅 subcontrol-origin)。

如果未指定此属性,则默认为0

示例

QSpinBox::up-button { top: 2px }

另请参阅 leftrightbottom

width

类型长度

子控件(或在某些情况下为控件)的宽度。

如果未指定此属性,则默认为依赖于子控件/小部件和当前样式的值。

警告:除非指定,否则在控件上设置此属性时此属性无效。如果您希望具有固定宽度的控件,请将 min-widthmax-width 设置为相同的值。

示例

QSpinBox::up-button { width: 12px }

另请参阅 height

-qt-background-role

类型PaletteRole

根据所选角色为子控件或控件设置的 background-color

-qt-style-features

类型list

您想应用 Qt 特定样式的 CSS 属性列表。

注意:list 主要包括不基于像素图的属性。

图标列表

Qt 中使用的图标可以使用以下属性进行自定义。本节中列出的每个属性都具有 Icon 类型。

请注意,要使图标在 QDialogButtonBox 中的按钮上显示,您需要将 dialogbuttonbox-buttons-have-icons 属性设置为 true。此外,要自定义图标的大小,请使用 icon-size 属性。

NameQStyle::StandardPixmap
backward-iconQStyle::SP_ArrowBack
cd-iconQStyle::SP_DriveCDIcon
computer-iconQStyle::SP_ComputerIcon
桌面图标QStyle::SP_DesktopIcon
对话框应用图标QStyle::SP_DialogApplyButton
对话框取消图标QStyle::SP_DialogCancelButton
对话框关闭图标QStyle::SP_DialogCloseButton
对话框弃图标QStyle::SP_DialogDiscardButton
对话框帮助图标QStyle::SP_DialogHelpButton
对话框否图标QStyle::SP_DialogNoButton
对话框确定图标QStyle::SP_DialogOkButton
对话框打开图标QStyle::SP_DialogOpenButton
对话框重置图标QStyle::SP_DialogResetButton
对话框保存图标QStyle::SP_DialogSaveButton
对话框是图标QStyle::SP_DialogYesButton
目录关闭图标QStyle::SP_DirClosedIcon
目录图标QStyle::SP_DirIcon
目录链接图标QStyle::SP_DirLinkIcon
目录打开图标QStyle::SP_DirOpenIcon
.Dockwidget关闭图标QStyle::SP_DockWidgetCloseButton
向下箭头图标QStyle::SP_ArrowDown
DVD图标QStyle::SP_DriveDVDIcon
文件图标QStyle::SP_FileIcon
文件链接图标QStyle::SP_FileLinkIcon
文件对话框内容视图图标QStyle::SP_FileDialogContentsView
文件对话框详细视图图标QStyle::SP_FileDialogDetailedView
文件对话框结束图标QStyle::SP_FileDialogEnd
文件对话框信息视图图标QStyle::SP_FileDialogInfoView
文件对话框列表视图图标QStyle::SP_FileDialogListView
文件对话框新建目录图标QStyle::SP_FileDialogNewFolder
文件对话框父目录图标QStyle::SP_FileDialogToParent
文件对话框开始图标QStyle::SP_FileDialogStart
软盘图标QStyle::SP_DriveFDIcon
前进图标QStyle::SP_ArrowForward
硬盘图标QStyle::SP_DriveHDIcon
家图标QStyle::SP_DirHomeIcon
行编辑清除按钮图标QStyle::SP_LineEditClearButton
向左箭头图标QStyle::SP_ArrowLeft
消息框错误图标QStyle::SP_MessageBoxCritical
消息框信息图标QStyle::SP_MessageBoxInformation
消息框问号图标QStyle::SP_MessageBoxQuestion
消息框警告图标QStyle::SP_MessageBoxWarning
网络图标QStyle::SP_DriveNetIcon
向右箭头图标QStyle::SP_ArrowRight
标题栏上下文帮助图标QStyle::SP_TitleBarContextHelpButton
标题栏最大化图标QStyle::SP_TitleBarMaxButton
标题栏菜单图标QStyle::SP_TitleBarMenuButton
标题栏最小化图标QStyle::SP_TitleBarMinButton
标题栏正常图标QStyle::SP_TitleBarNormalButton
标题栏阴影图标QStyle::SP_TitleBarShadeButton
标题栏非阴影图标QStyle::SP_TitleBarUnshadeButton
垃圾桶图标QStyle::SP_TrashIcon
向上箭头图标QStyle::SP_ArrowUp

属性类型列表

以下表格总结了不同属性类型的语法和含义。

类型语法描述
对齐 { 顶部
| 底部
| 左侧
| 右侧
| 居中 }*
水平和/或垂直对齐。

示例

QTextEdit { background-position: bottom center }
附件 { 滚动
| 固定 }*
滚动或固定附件。
背景 { 画笔
| Url
| 重复
| 对齐 }*
一系列画笔Url重复对齐
布尔 0 | 1真(1)或假(0)。

示例

QDialog { etch-disabled-text: 1 }
边框 { 边框样式
| 长度
| 画笔 }*
简写边框属性。
边框图像 none
| URL 数字{4}
(拉伸 | 重复){0,2}
边框图像是由九个部分(左上角、右上角、左中、正中心、右中、底左、底中、底右)组成的图像。当需要一定大小的边框时,角部部分直接使用,顶部、右边、底边和左边部分拉伸或重复,从而生成所需大小的边框。

有关详细信息,请参阅 CSS3 草案规范

边框样式 虚线
| 点划线
| 点线
| 点划线
| 双线
| 凹槽
| 嵌入
| 凸起
| 脊形
| 实线
|
指定绘制边框所用的图案。有关详细信息,请参阅 CSS3 草案规范
框颜色 画刷{1,4}一个到四个 画笔 出现,分别指定框的上、右、下和左边框。如果左边框颜色未指定,则假定与右边框颜色相同。如果底边框颜色未指定,则假定与顶边框颜色相同。如果右边框颜色未指定,则假定与顶边框颜色相同。

示例

/* red red red red */
QLabel { border-color: red }
/* red blue red blue */
QLabel { border-color: red blue }
/* red blue green blue */
QLabel { border-color: red blue green }
/* red blue green yellow */
QLabel { border-color: red blue green yellow }
框边长 长度{1,4}一个到四个 长度 出现,分别指定框的上、右、下和左边框。如果左边框长度未指定,则假定与右边框长度相同。如果底边框长度未指定,则假定与顶边框长度相同。如果右边框长度未指定,则假定与顶边框长度相同。

示例

/* 1px 1px 1px 1px */
QLabel { border-width: 1px }
/* 1px 2px 1px 2px */
QLabel { border-width: 1px 2px }
/* 1px 2px 3px 2px */
QLabel { border-width: 1px 2px 3px }
/* 1px 2px 3px 4px */
QLabel { border-width: 1px 2px 3px 4px }
画笔 颜色
| 渐变
| 调色板角色
指定颜色、渐变或调色板中的一个条目。
颜色 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
| 颜色名称
指定颜色为 RGB(红、绿、蓝)、RGBA(红、绿、蓝、透明度)、HSV(色调、饱和度、亮度)、HSVA(色调、饱和度、亮度、透明度)、HSL(色调、饱和度、亮度)或命名颜色。可以使用 rgb()rgba() 语法,使用0到255之间的整数值,或使用百分比值。在 hsv()hsva() hsl()hsla() 中,s、v、l和a的值必须都在0-255的范围内或以百分比表示,h的值必须为0-359。5.13版本及以后支持HSL(A)。

示例

/* opaque red */
QLabel { border-color: red }
/* opaque red */
QLabel { border-color: #FF0000 }
/* 75% opaque red */
QLabel { border-color: rgba(255, 0, 0, 75%) }
/* opaque red */
QLabel { border-color: rgb(255, 0, 0) }
/* opaque red */
QLabel { border-color: rgb(100%, 0%, 0%) }
/* opaque yellow */
QLabel { border-color: hsv(60, 100%, 100%) }
/* 75% blue */
QLabel { border-color: hsva(240, 255, 255, 75%) }
/* opaque yellow */
QLabel { border-color: hsl(60, 100%, 50%) }
/* 75% blue */
QLabel { border-color: hsla(240, 255, 50%, 75%) }

注意:允许的RGB颜色与CSS 2.1中允许的颜色相同,如此处列表所示。

字体 (字体样式 | 字体粗细){0,2} 字体大小 字符串简写字体属性。
字体大小 长度字体的尺寸。
字体样式 正常
| italic
| oblique
字体的样式。
字体粗细 正常
| bold
| 100
| 200
...
| 900
字体的粗细。
渐变 qlineargradient
| qradialgradient
| qconicalgradient
指定渐变填充。有三种类型的渐变填充
  • 线性 渐变在起点和终点之间插值颜色。
  • 径向 渐变在焦点和围绕该焦点圆上的终点之间插值颜色。
  • 圆锥 渐变在中心点周围插值颜色。

渐变在对象边界模式下指定。想象一下渐变渲染的框,它的左上角在(0, 0),右下角在(1, 1)。然后根据0到1的百分比指定渐变参数。这些值将在运行时外推到实际框坐标。可以指定位于边界框之外(例如-0.6或1.8)的值。

警告:必须按升序顺序出现停止点。

示例

/* linear gradient from white to green */
QTextEdit {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
                stop:0 white, stop: 0.4 gray, stop:1 green)
}

/* linear gradient from white to green */
QTextEdit {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
                stop:0 white, stop: 0.4 rgba(10, 20, 30, 40),
                stop:1 rgb(0, 200, 230, 200))
}

/* conical gradient from white to green */
QTextEdit {
    background: qconicalgradient(cx:0.5, cy:0.5, angle:30,
                stop:0 white, stop:1 #00FF00)
}

/* radial gradient from white to green */
QTextEdit {
    background: qradialgradient(cx:0, cy:0, radius: 1,
                fx:0.5, fy:0.5, stop:0 white, stop:1 green)
}
图标 (Url (disabled | active | normal | selected)? (on | off)? )*

一个url、QIcon::ModeQIcon::State的列表。

示例

* {
    file-icon: url(file.png),
               url(file_selected.png) selected;
  }

QMessageBox {
    dialogbuttonbox-buttons-have-icons: true;
    dialog-ok-icon: url(ok.svg);
    dialog-cancel-icon: url(cancel.png),
                        url(grayed_cancel.png) disabled;
}
长度 Number (px | pt | em | ex)?一个数字后面跟着一个测量单位。CSS标准建议用户代理必须忽略带有非法值的声明。在Qt中,必须指定测量单位。为了与Qt的早期版本兼容,大多数上下文中不带测量单位的数字被视为像素。支持的单位包括
  • px: 像素
  • pt: 一个点的大小(即,1/72英寸的大小)
  • em: 相对于元素字体大小的尺寸(例如,2em表示字体大小的2倍)
  • ex: 字体的x-height(即,'x'的高度)

然而,Qt受限于ptpx字体大小,任何其他尺寸必须是pxemex

数字 十进制整数或实数例如: 018+127-25512.34-.50009
起点 外边距
| border
| padding
| content
指示使用四个矩形中的哪一个。
  • margin: 外边距矩形。外边距在边框之外。
  • border: 边框矩形。这是绘制任何边框的地方。
  • padding: 内边距矩形。与边距不同,内边距位于边框内。
  • content: 内容矩形。这指定了实际内容的放置位置,不包括任何内边距、边框或边距。

另请参阅盒模型

调色板角色 alternate-base
| accent
| base
| bright-text
| button
| button-text
| dark
| 高亮
| 高亮文本
| 亮色
| 链接
| 已访问链接
| 中间
| 亮中间
| 阴影
| 文本
| 窗口
| 窗口文本
这些值对应于小部件的 颜色角色,位于 QPalette 中。

例如,

QPushButton { color: palette(dark); }
半径 长度{1, 2}一个或两个出现次数的 长度。如果指定了单个长度,则它用作定义角落的四分之一圆的半径。如果指定了两个长度,则第一个长度是四分之一椭圆的水平半径,第二个长度是垂直半径。
重复 repeat-x
| repeat-y
| repeat
| no-repeat
表示重复性质的值。
  • repeat-x: 水平重复。
  • repeat-y: 垂直重复。
  • repeat: 水平和垂直重复。
  • no-repeat: 不重复。
URL url(filename)filename 是本地磁盘上的文件名称或使用 Qt 资源系统 存储的名称。设置图像会隐式设置元素的宽度和高度。

伪状态列表

以下伪状态受支持

伪状态描述
:active 当小部件位于活动窗口时设置此状态。
:adjoins-item ::branchQTreeView 毗邻某项时设置此状态。
:alternate 在绘制 QAbstractItemView 的行时,将为每行交替设置此状态,当 QAbstractItemView::alternatingRowColors() 设置为 true。
:bottom 该项位于底部。例如,底端放置标签的 QTabBar
:checked 该项被选中。例如,选中状态的 QAbstractButton
:closable 该项可以关闭。例如,启用了 QDockWidget::DockWidgetClosable 功能的 QDockWidget
:closed 该项处于关闭状态。例如,在 QTreeView 中的未展开项。
:default 该项是默认的。例如,默认QPushButtonQMenu 中的默认操作。
:disabled 该项处于禁用状态。
:editable QComboBox 可编辑。
:edit-focus 该项具有编辑焦点(参见 QStyle::State_HasEditFocus)。此状态仅适用于 Qt Extended 应用程序。
:enabled 该项已启用。
:exclusive 该项目是独家项目组的一部分。例如,在独家 QActionGroup 中的菜单项。
:first 该项目是列表中的第一个(第一个)。例如,在 QTabBar 中的第一个标签页。
:flat 该项目是平的。例如,一个 flatQPushButton
:floatable 项目可以被浮动。例如,QDockWidget 具有已开启的 QDockWidget::DockWidgetFloatable 功能。
:focus 项目有 输入焦点
:has-children 项目有子项。例如,一个在 QTreeView 中的有子项的项目。
:has-siblings 项目有兄弟项。例如,在 QTreeView 中的有兄弟项的项目。
:horizontal 项目具有水平方向。
:hover 鼠标悬停在项目上。
:indeterminate 项目处于不确定状态。例如,一个部分勾选的 QCheckBoxQRadioButton
:last 该项目是列表中的最后一个(最后一个)。例如,在 QTabBar 中的最后一个标签页。
:left 项目定位在左侧。例如,将标签定位在左侧的 QTabBar
:maximized 项目已最大化。例如,一个最大化的 QMdiSubWindow
:middle 项目在列表中居中。例如,在 QTabBar 中不在起始或结束位置的标签页。
:minimized 项目已最小化。例如,一个最小化的 QMdiSubWindow
:movable 项目可以被移动。例如,QDockWidget 具有已开启的 QDockWidget::DockWidgetMovable 功能。
:no-frame 项目没有边框。例如,无框的 QSpinBoxQLineEdit
:non-exclusive 该项目是非独家项目组的一部分。例如,在非独家 QActionGroup 中的菜单项。
:off 对于可切换的项目,这适用于处于“关”状态的项目。
:on 对于可切换的项目,这适用于处于“开”状态的控件。
:only-one 该项目是列表中的唯一项目。例如,在 QTabBar 中唯一的标签页。
:open 项目处于打开状态。例如,在 QTreeView 中展开的项目,或者有打开菜单的 QComboBoxQPushButton
:next-selected 以下项目(在列表中)被选中。例如,QTabBar的选中标签就在此项目旁边。
:pressed 使用鼠标按下该项目。
:previous-selected 列表中的上一个项目被选中。例如,在QTabBar中,紧邻选中标签的标签。
:read-only 标记该项目为只读或不可编辑。例如,只读的QLineEdit或不可编辑的QComboBox
:right 该项目位于右侧。例如,标签位于右侧的QTabBar
:selected 该项目被选中。例如,在QTabBar中选中的标签或在QMenu中选中的项目。
:top 该项目位于顶部。例如,标签位于顶部的QTabBar
:unchecked 该项目被取消选中
:vertical 该项目具有垂直方向。
:window 该小部件是一个窗口(即顶级小部件)

子控件列表

以下子控件可用

子控件描述
::add-line 添加QScrollBar一行按钮。
::add-page 位于QScrollBar的滑块(handle)和add-line之间的区域。
::branch QTreeView的分支指示器。
::chunk QProgressBar的进度块。
::close-button QDockWidget的关闭按钮或QTabBar的标签页。
::corner 位于QAbstractScrollArea中的两个滚动条之间的角。
::down-arrow QComboBoxQHeaderView(排序指示器)、QScrollBarQSpinBox的下箭头。
::down-button QScrollBarQSpinBox的下按钮。
::drop-down QComboBox的下拉按钮。
::float-button QDockWidget的浮动按钮。
::groove QSlider的凹槽。
::indicator QAbstractItemViewQCheckBoxQRadioButton、可复选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 中处理(滑块)和 sub-line 之间的区域。
::tab QTabBar 或 QToolBox 中的标签。
::tab-bar QTabWidget 的标签栏。这个子控件仅存在于控制 QTabWidget 内的 QTabBar 的位置。要使用 ::tab 子控件来设置标签样式。
::tear QTabBar 的撕裂指示器。
::tearoff QMenu 的撕裂指示器。
::text QAbstractItemView 中的文本。
::title QGroupBox 或 QDockWidget 的标题。
::上箭头 QHeaderView(排序指示器)、QScrollBarQSpinBox上的上箭头。
::上按钮 QSpinBox上的上按钮。

有关如何自定义子控件的一个例子,请参阅自定义 QPushButton 的菜单指示器子控件

© 2024 Qt 公司有限。其中包含的文档贡献的版权归其各自的所有者。本文件中的文档是根据自由软件基金会发布的GNU 自由文档许可协议版本 1.3许可的。Qt及其相关标志是芬兰和/或其他国家的Qt公司的商标。所有其他商标均是各自所有者的财产。