警告

本节包含自动从C++翻译到Python的代码片段,可能存在错误。

Qt样式表引用#

Qt Style Sheets support various properties, pseudo-states, and subcontrols that make it possible to customize the look of widgets.

可样式化的小部件列表#

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

小部件

如何样式化

QAbstractScrollArea .. _qabstractscrollarea-widget

支持盒模型。所有QAbstractScrollArea的衍生类,包括QTextEdit,和QAbstractItemView(所有视图类),支持使用background-attachment进行可滚动的背景。将背景附着设置为fixed将提供不随视口滚动背景图像。将背景附着设置为scroll,当滚动条移动时,背景图像滚动。参见自定义QAbstractScrollArea获取示例。

QCheckBox .. _qcheckbox-widget

支持盒模型。可以通过使用::indicator子控件来样式化复选标记指示器。默认情况下,指示器位于小部件内容的上方左角。通过spacing属性指定复选标记指示器和文本之间的间距。请参见自定义QCheckBox获取示例。

QColumnView .. _qcolumnview-widget

可以通过使用image属性来样式化柄。箭头指示器可以通过::left-arrow子控件和::right-arrow子控件进行样式化。

QComboBox .. _qcombobox-widget

可以使用盒模型 对组合框周围的边框进行样式设置。下拉按钮可以使用::drop-down 子控件进行样式设置。默认情况下,下拉按钮位于部件填充矩形的右上角。下拉按钮内部的箭头标记可以使用::down-arrow 子控件进行样式设置。默认情况下,箭头位于下拉子控件内容矩形的中心。可以使用placeholder-text-color 属性设置占位符文本的颜色。请参阅自定义QComboBox 以获取示例。

QDateEdit .. _qdateedit-widget

请参阅QSpinBox

QDateTimeEdit .. _qdatetimeedit-widget

请参阅QSpinBox

QDialog .. _qdialog-widget

只支持背景背景-剪切背景-原点 属性。

警告

请确保为您的自定义部件定义了Q_OBJECT 宏。

QDialogButtonBox .. _qdialogbuttonbox-widget

可以使用按钮布局 属性更改按钮的布局。

QDockWidget .. _qdockwidget-widget

当停靠时,支持对标题栏及其按钮进行样式设置。可以使用边框 属性样式设置停靠窗口边框。可以使用::title 子控件来自定义标题栏。关闭和浮动按钮分别使用::close-button::float-button 定位相对于 ::title 子控件。当标题栏垂直时,设置:vertical 伪类。此外,根据 DockWidgetFeature ,设置 :closable:floatable:movable 伪状态。

注意

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

警告

QDockWidget 未停靠时,样式表没有效果,因为 Qt 在未停靠时使用原生顶级窗口。

请参见 自定义 QDockWidget 的示例

QDoubleSpinBox .. _qdoublespinbox-widget

请参阅QSpinBox

QFrame .. _qframe-widget

支持 盒模型。从版本 4.3 开始,为 QLabel 设置样式表将自动将 frameStyle 属性设置为 StyledPanel。请参见 自定义 QFrame 的示例

QGroupBox .. _qgroupbox-widget

支持 盒模型。可以使用 ::title 子控件来设置标题的样式。默认情况下,标题的位置取决于 QGroupBox::textAlignment。对于可复选的 QGroupBox,标题将包括复选标记。标记的样式使用 ::indicator 子控件。可以使用 spacing 属性来控制文本和标记之间的间距。请参见 自定义 QGroupBox 的示例

QHeaderView .. _qheaderview-widget

支持 盒模型。表头视图的各个部分使用 ::section 子控件进行样式设置。section 子控件支持 :middle:first:last:only-one:next-selected:previous-selected:selected:checked 伪状态。可以使用 ::up-arrow::down-arrow 子控件来设置排序指示器的样式。请参见 自定义 QHeaderView 的示例

QLabel .. _qlabel-widget

支持盒模型。不支持:hover伪状态。从4.3版本开始,通过风格表设置QLabel会自动设置frameStyle属性为StyledPanel。有关示例(QLabel是由QFrame派生而来),请见自定义QFrame

QLineEdit .. _qlineedit-widget

支持盒模型。使用selection-colorselection-background-color分别样式化选中项的颜色和背景。使用placeholder-text-color属性设置占位符文本的颜色。使用lineedit-password-character属性样式化密码字符。可以使用lineedit-password-mask-delay改变密码掩码延迟。有关示例,请见自定义QLineEdit

QListView .. _qlistview-widget

支持盒模型。当启用alternating row colors时,交替颜色可以使用alternate-background-color属性样式化。使用selection-colorselection-background-color分别样式化选中项的颜色和背景。选择行为受show-decoration-selected属性控制。使用::item子控件以获得对QListView中项的更细致的控制。有关样式化可滚动背景,请参阅QAbsractScrollArea。有关示例,请见自定义QListView

QListWidget .. _qlistwidget-widget

请参阅 QListView .

QMainWindow .. _qmainwindow-widget

支持分隔符的样式。在使用 QDockWidget 时,QMainWindow 的分隔符使用 ::separator 子控件进行样式设置。请参考 自定义 QMainWindow 以获取示例。

QMenu .. _qmenu-widget

支持 盒子模型 。单个项目通过使用 ::item 子控件进行样式设置。除了通常支持的伪状态之外,item 子控件还支持 :selected:default:exclusivenon-exclusive 伪状态。复选菜单项的指示器通过使用 ::indicator 子控件进行样式设置。分隔符通过使用 ::separator 子控件进行样式设置。对于具有子菜单的项目,箭头标记通过使用 right-arrowleft-arrow 进行样式设置。滚动条通过使用 ::scroller 进行样式设置。撕裂条通过使用 ::tearoff 进行样式设置。请参考 自定义 QMenu 以获取示例。

QMenuBar .. _qmenubar-widget

支持 盒子模型spacing 属性指定菜单项之间的间距。单个项目通过使用 ::item 子控件进行样式设置。

警告

当在 Qt/Mac 上运行时,菜单栏通常嵌入到全局菜单栏中。在这种情况下,样式表将没有效果。

请参考 自定义 QMenuBar 以获取示例。

QMessageBox .. _qmessagebox-widget

可以使用 messagebox-text-interaction-flags 属性来更改与消息框中文字的交互。

QProgressBar .. _qprogressbar-widget

支持 box model。可以使用 ::chunk 子控件来设置进度条的格式化。这两个部分是显示在组件内容的矩形区域的。如果进度条显示文字,使用 text-align 属性来定位文字。不定的进度条将设置 :indeterminate 伪状态。请参见 Customizing QProgressBar 的示例。

QPushButton .. _qpushbutton-widget

支持 box model。支持 :default:flat:checked 伪状态。从 5.15 开始,可以设置 icon 属性来覆盖按钮图标。对于具有菜单的 QPushButton ,菜单指示器将使用 ::menu-indicator 子控件进行设置。可以通过 :open:closed 伪状态来自定义可检查的按钮的外观。

警告

如果你只在 QPushButton 上设置背景色,如果没有设置边框属性为某个值,背景可能不会出现。这是因为默认情况下,QPushButton 绘制一个原生态的边框,该边框与背景色完全重叠。例如,

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

请参见 Customizing QPushButton 的示例。

QRadioButton .. _qradiobutton-widget

支持 box model。可以使用 ::indicator 子控件来设置检查标志的样式。默认情况下,指示器位于组件内容矩形区域的上左角。使用 spacing 属性指定检查标志和文本之间的间隔。请参见 Customizing QRadioButton 的示例。

QScrollBar .. _qscrollbar-component

支持盒模型。组件的内容矩形包括滑块移动的凹槽。根据方向设置QScrollBar(即宽度或高度)分别使用宽度或高度属性。要确定方向,请使用::horizontal:vertical伪状态。滑块可以通过::handle子控件进行样式化。设置min-widthmin-height为滑块提供尺寸约束,具体取决于方向。使用::add-line子控件可对添加线条的按钮进行样式化。默认情况下,添加线条的子控件放置在组件的Border矩形的右上角。根据方向,默认放置::right-arrow::down-arrow。默认情况下,箭头放置在添加线条子控件内容矩形的中心。使用::sub-line子控件可以对减少线条的按钮进行样式化。默认情况下,减少线条的子控件放置在组件的Border矩形的右下角。根据方向,默认放置::left-arrow::up-arrow。默认情况下,箭头放置在减少线条子控件内容矩形的中心。使用::sub-page子控件可以对减少页面的滑块区域进行样式化。使用::add-page子控件可以对增加页面的滑块区域进行样式化。请参阅自定义QScrollBar以获取示例。

QSizeGrip .. _qsizegrip-component

支持宽度、高度和图像属性。请参阅自定义QSizeGrip以获取示例。

QSlider .. _qslider-component

支持盒模型。对于水平滑块,必须提供min-widthheight属性。对于垂直滑块,必须提供min-heightwidth属性。滑块的凹槽使用::groove进行样式定义。凹槽默认情况下位于小部件的内容矩形内。滑块的圆形调整手柄使用::handle子控件进行样式定义。子控件在凹槽子控件的内容矩形内移动。有关示例,请参阅自定义QSlider

QSpinBox .. _qspinbox-widget

可以使用box模型来定义微调框的框架样式。上按钮和箭头可以使用::up-button::up-arrow子控件进行样式定义。默认情况下,上按钮位于小部件的填充矩形的右上角。如果没有特定的尺寸,它将占据参考矩形高度的一半。上箭头位于上按钮的内容矩形的中心。下按钮和箭头可以使用::down-button::down-arrow子控件进行样式定义。默认情况下,下按钮位于小部件的填充矩形的右下角。如果没有特定的尺寸,它将占据参考矩形高度的一半。下箭头位于下按钮的内容矩形的中心。有关示例,请参阅自定义QSpinBox

QSplitter .. _qsplitter-widget

支持box模型。分割器的手柄使用::handle子控件进行样式定义。有关示例,请参阅自定义QSplitter

QStatusBar .. _qstatusbar-widget

只支持background属性。可以使用::item子控件来定义单个项的框架样式。有关示例,请参阅自定义QStatusBar

QTabBar .. _qtabbar-widget

可以使用 ::tab 子控件来对单个标签进行样式设计。使用 ::close-button 来创建关闭按钮。标签支持 :only-one:first:last:middle:previous–selected:next-selected:selected 等伪状态。根据标签的朝向,有 :top:left:right:bottom 伪状态。使用负边距或使用 绝对 位置模式创建具有选中状态的重叠标签。通过使用 ::tear 子控件来对 QTabBar 的撕裂指示器进行样式设计。用于滚动条的两个 QToolButton 可以使用 QTabBar QToolButton 选择器进行样式设计。要指定滚动按钮的宽度,请使用 ::scroller 子控件。使用 alignment 属性来对 QTabBar 内的标签对齐进行样式设计。

警告

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

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

QTabWidget .. _qtabwidget-widget

标签小部件的框架是用 ::pane 子控制样式设置的。左上角和右上角分别用 ::left-corner::right-corner 风格设置。标签栏的位置使用 ::tab-bar 子控制来控制。默认情况下,这些子控制在 QWindowsStyle 中的位置是 QTabWidget 的位置。要将 QTabBar 放在中间,设置标签栏子控制的子控制位置。根据标签的方向,使用 :top:left:right:bottom 伪状态。有关示例,请参阅 自定义 QTabWidget

QTableView .. _qtableview-widget

支持 box model。当启用 alternating row colors 时,交替颜色可以使用 alternate-background-color 属性进行样式设置。选择项的颜色和背景分别使用 selection-colorselection-background-color 进行样式设置。在 QTableView 中的角落小部件被实现为 QAbstractButton 可以使用“ QTableView QTableCornerButton::section” 选择器来进行样式设置。

警告

如果您只为 QTableCornerButton 设置背景颜色,则除非您设置了边框属性,否则背景可能不会出现。这是因为在默认情况下,QTableCornerButton 绘制一个原生的边框,该边框完全覆盖了背景颜色。

可以使用 gridline-color 属性指定网格的颜色。有关样式可滚动的背景,请参阅 QAbsuiltScrollArea。有关示例,请参阅 自定义 QTableView

QTableWidget .. _qtablewidget-widget

参阅 QTableView

QTextEdit .. _qtextedit-widget

支持盒模型。选中文本的颜色和背景分别使用selection-colorselection-background-color进行样式设置。占位文本的颜色可以使用placeholder-text-color属性进行设置。查看QAbsractScrollArea以样式设置可滚动背景。

QTimeEdit .. _qtimeedit-widget

请参阅QSpinBox

QToolBar .. _qtoolbar-widget

支持盒模型。根据工具栏分组区域的不同,支持:top:left:right:bottom伪状态。:first:last:middle:only-one伪状态指示工具栏在行组中的位置(见QStyleOptionToolBar::positionWithinLine)。工具栏的分离器使用::separator子控件进行样式设置。工具按钮(移动工具栏)使用::handle子控件进行样式设置。请参阅Customizing QToolBar示例。

QToolButton .. _qtoolbutton-widget

支持盒模型。如果QToolButton 有菜单,可以使用 ::menu-indicator 子控件来设置指示器样式。默认情况下,菜单指示器位于小部件内填充矩形的右下角。如果 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 .. _qtoolbox-widget

支持盒模型。可以使用 ::tab 子控件来样式化单独的标签页。标签页支持 :only-one:first:last:middle:previous-selected:next-selected:selected 伪状态。

QToolTip .. _qtooltip-widget

支持盒模型。`opacity`属性控制提示工具的透明度。请参阅自定义QFrame示例(一个QToolTipQFrame )。

QTreeView .. _qtreeview-widget

支持盒模型。当启用`alternatingRowColors`时,可以通过`alternate-background-color`属性来设置交替颜色。选择的项的颜色和背景分别使用`selection-color`和`selection-background-color`属性来设置。选择行为由`show-decoration-selected`属性控制。树视图的分支可以使用`::branch`子控件进行样式设置。`::branch`子控件支持`:open`、`:closed`、`:has-sibling`和`:has-children`伪状态。对于对QTreeView中的项进行更精细的控制,请使用`::item`子控件。请参阅QAbsractScrollArea来设置可滚动背景。请参阅自定义QTreeView示例来设置分支样式。

QTreeWidget .. _qtreewidget-widget

参阅QTreeView

QWidget .. _qwidget-widget

仅支持背景背景裁剪背景起始位置属性。如果您从QWidget派生,您需要为您的自定义QWidget提供以下paintEvent

def paintEvent(self, arg__0):

    opt = QStyleOption()
    opt.initFrom(self)
    p = QPainter(self)
    style().drawPrimitive(QStyle.PE_Widget, opt, p, self)

如果未设置样式表,上述代码将不执行任何操作。

警告

请确保为您的自定义部件定义了Q_OBJECT 宏。

属性列表#

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

accent-color#

类型

画笔

该属性设置了高亮颜色,用于强调交互式UI元素。如果未设置此属性,则默认值为突出显示颜色。

alternate-background-color#

类型

画笔

alternate background colorQAbstractItemView子类中使用的颜色。

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

示例

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

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

background#

类型

背景

设置背景的缩写形式。相当于指定 background-colorbackground-imagebackground-repeat 和/或 background-position

此属性由以下类派生支持:QAbstractItemView 派生类,QAbstractSpinBox 派生类,QCheckBoxQComboBoxQDialogQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip,以及纯 QWidget

示例

QTextEdit { background: yellow }

通常需要设置类似于 Qt::BrushStyle 的填充样式。您可以使用背景颜色属性为 Qt::SolidPattern、Qt::RadialGradientPattern、Qt::LinearGradientPattern 和 Qt::ConicalGradientPattern 设置样式。其他样式可以通过创建包含该样式的背景图片轻松实现。

示例

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

另请参阅 背景起始位置选区背景颜色背景裁剪背景固定交替背景颜色

背景颜色#

类型

画笔

用于小部件的背景颜色。

示例

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

背景图片#

类型

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-clip#

类型

原点

绘制背景的部件矩形。

此属性指定了背景颜色和背景图片应裁剪到的矩形。

此属性由 QAbstractItemView 子类、QAbstractSpinBox 子类、QCheckBoxQComboBoxQDialogQFrameQGroupBoxQLabelQPushButtonQRadioButtonQSplitterQTextEditQToolTip 以及纯 QWidget 支持。

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

示例

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

另请参阅 backgroundbackground-origin盒子模型

background-origin#

类型

原点

小部件的背景矩形,与 background-positionbackground-image 一起使用。

此属性由 QAbstractItemView 子类、QAbstractSpinBox 子类、QCheckBoxQComboBoxQDialogQFrameQGroupBoxQLabelQPushButtonQRadioButtonQSplitterQTextEditQToolTip 以及纯 QWidget 支持。

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

示例

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

另请参阅 background盒子模型

border#

类型

边框

用于设置小部件边框的缩写表示法。相当于指定 border-colorborder-style 和/或 border-width

此属性由以下子类支持:QAbstractItemViewQAbstractSpinBoxQCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip 及纯 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

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

如果没有指定此属性,则默认为 color(即小部件的前景颜色)。

示例

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

另请参阅 border-styleborder-widthborder-imageThe Box Model

border-top-color#

类型

画笔

边框顶部的颜色。

border-right-color#

类型

画笔

边框右侧的颜色。

border-bottom-color#

类型

画笔

边框底部的颜色。

border-left-color#

类型

画笔

边框左侧的颜色。

border-image#

类型

边框图像

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

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

另请参阅 边框颜色边框样式边框宽度框模型

border-radius#

类型

半径

边框角落的半径。相当于指定 border-top-left-radiusborder-top-right-radiusborder-bottom-right-radiusborder-bottom-left-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#

类型

半径

边界左下角半径。将此属性设置为正值会导致角圆滑。

border-style#

类型

边框样式

所有边框边缘的样式。

此属性由以下子类支持:`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-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

此属性由以下子类支持:`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-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#

类型

数字

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

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

示例

* { button-layout: 2 }

颜色#

类型

画笔

用于渲染文本的颜色。

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

如果未设置此属性,默认为在.widget的调色板中为 foregroundRole 设置的任何内容(通常是黑色)。

示例

QPushButton { color: red }

另请参阅 背景选择颜色

dialogbuttonbox-buttons-have-icons#

类型

布尔值

是否在 QDialogButtonBox 中的按钮显示图标

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

有关设置图标的说明,请参阅 图标列表 部分。

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

注意

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

字体#

类型

字体

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

此属性受所有尊重 font 的小部件支持。

如果未设置此属性,则默认为 font 的值。

示例

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

font-family#

类型

字符串

字体族。

示例

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

font-size#

类型

字体大小

此版本的 Qt 中,只支持 pt 和 px 等度。

示例

QTextEdit { font-size: 12px }

字体样式#

类型

字体样式

字体样式。

示例

QTextEdit { font-style: italic }

字体粗细#

类型

字体粗细

字体粗细的权重。

网格线颜色*#

类型

颜色

QTableView 中的网格线的颜色。

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

示例

* { gridline-color: gray }

高度#

类型

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

如果未指定此属性,则默认为一个取决于子控件/小部件以及当前样式的值。

警告

除非另作说明,否则当设置在控件上时,此属性没有效果。如果您想要一个具有固定高度的小部件,请将 min-heightmax-height 设置为相同的值。

示例

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

另见 宽度

图标#

类型

URL +

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

唯一支持此属性的控件是 QPushButton

注意

为按钮分配图标(使用 QAbstractButton API)是应用程序的责任,而不是样式的责任。所以除非您的样式表针对特定的应用程序,否则请小心设置它。

自 5.15 版本以来可用。

图标大小#

类型

小部件中图标的宽度和高度。

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

图片*#

类型

URL +

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

图片属性接受一个 Url 列表或一个 svg。绘制的实际图像是使用与 QIcon 相同的算法确定的(即图像永远不会上缩,但在必要时总是下缩)。如果指定了 svg,则图像将被缩放到内容矩形的尺寸。

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

在 Qt 4.3 及以后的版本中,可以使用 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#

类型

对齐

在 Qt 4.3 及以后的版本中,可以使用相对或绝对位置来指定图像图像的位置。

#

类型

如果 positionrelative(默认值),则通过一定的偏移量将子控件移动到右侧。

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

如果没有指定此属性,它默认为 0

示例

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

另请参阅 righttopbottom

lineedit-password-character*#

类型

数字

QLineEdit 密码字符作为 Unicode 数值。

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

示例

* { lineedit-password-character: 9679 }

lineedit-password-mask-delay*#

类型

数字

QLineEdit 密码掩码延迟(以毫秒计算),在将 lineedit-password-character 应用到可见字符之前。

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

自 Qt 5.4 起提供。

示例

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

margin#

类型

框长度

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

此属性由以下子类支持:`QAbstractItemView`、`QAbstractSpinBox`、`QCheckBox`、`QComboBox`、`QFrame`、`QGroupBox`、`QLabel`、`QLineEdit`、`QMenu`、`QMenuBar`、`QPushButton`、`QRadioButton`、`QSplitter`、`QTextEdit` 和 `QToolTip`。

如果没有指定此属性,它默认为 0

示例

QLineEdit { margin: 2px }

另请参阅 paddingspacing盒子模型

margin-top#

类型

小部件的顶部边距。

margin-right#

类型

小部件的右侧边距。

margin-bottom#

类型

小部件的底部边距。

margin-left#

类型

小部件的左侧边距。

max-height#

类型

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

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

值相对于盒子模型的 contents rect。

示例

QSpinBox { max-height: 24px }

另请参阅 最大宽度

最大宽度#

类型

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

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

值相对于盒子模型的 contents rect。

示例

QComboBox { max-width: 72px }

另请参阅 最大高度

messagebox-text-interaction-flags*#

类型

数字

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

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

示例

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

最小高度#

类型

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

该属性由以下类支持:QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolButton、以及QToolTip

如果未指定此属性,最小高度将基于窗口的内容和样式推导。

值相对于盒子模型的 contents rect。

示例

QComboBox { min-height: 24px }

注意

设置此属性可能允许控件大小小于内容所需的空间。

另请参阅min-width

min-width

类型

窗口或子控件的最低宽度。

该属性由以下类支持:QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolButton、以及QToolTip

如果未指定此属性,最小宽度将基于窗口的内容和样式推导。

值相对于盒子模型的 contents rect。

示例

QComboBox { min-width: 72px }

注意

设置此属性可能允许控件大小小于内容所需的空间。

另请参阅min-height

opacity*

类型

数字

窗口的不透明度。可能的值从0(透明)到255(不透明)。目前,这仅支持QToolTip

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

示例

QToolTip { opacity: 223 }

轮廓#

围绕对象边界的轮廓。

轮廓颜色#

类型

颜色

轮廓的颜色。另见 border-color

轮廓偏移#

类型

轮廓相对于小部件边界的偏移。

轮廓样式#

指定绘制轮廓时使用的图案。另见 border-style

轮廓半径#

向轮廓添加圆角。

轮廓左下圆角#

类型

半径

轮廓左下圆角的半径。

轮廓右下圆角#

类型

半径

轮廓右下圆角的半径。

轮廓左上圆角#

类型

半径

轮廓左上角的半径。

轮廓右上圆角#

类型

半径

轮廓右上圆角的半径。

内边距#

类型

框长度

小部件的内边距。相当于指定 padding-toppadding-rightpadding-bottompadding-left

此属性由以下子类支持:`QAbstractItemView`、`QAbstractSpinBox`、`QCheckBox`、`QComboBox`、`QFrame`、`QGroupBox`、`QLabel`、`QLineEdit`、`QMenu`、`QMenuBar`、`QPushButton`、`QRadioButton`、`QSplitter`、`QTextEdit` 和 `QToolTip`。

如果没有指定此属性,它默认为 0

示例

QLineEdit { padding: 3px }

另见 marginspacing盒模型

上内边距#

类型

小部件的上内边距。

右内边距#

类型

小部件的右内边距。

下内边距#

类型

小部件的下内边距。

左内边距#

类型

小部件的左内边距。

为空区域绘制交替行颜色#

类型

bool

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

备用文本颜色*#

类型

画笔

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

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

示例

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

自 6.5 版本起可用。

位置#

类型

relative | absolute

使用 leftrighttopbottom 指定的偏移量是相对坐标还是绝对坐标。

如果没有指定此属性,它将默认为 relative

selection-background-color*#

类型

画笔

所选文本或项的背景。

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

如果没有设置此属性,默认值是画家高光角色的设置值。

示例

QTextEdit { selection-background-color: darkblue }

另请参阅 selection-colorbackground

selection-color*#

类型

画笔

所选文本或项的前景。

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

如果没有设置此属性,默认值是画家高亮文本角色的设置值。

示例

QTextEdit { selection-color: white }

另请参阅 selection-background-colorcolor

show-decoration-selected*#

类型

布尔值

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

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

示例

* { show-decoration-selected: 1 }

spacing*#

类型

小部件内部的间距。

此属性由以下 类支持:QCheckBox(可勾选的框组),QGroupBoxQMenuBar,和 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;
}

目前该属性仅由QPushButtonQProgressBar支持。

text-decoration#

类型

none underline overline line-through

附加文本效果。

top#

类型

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

如果 位置绝对,则 top 属性指定了子控件顶边相对于父控件顶边的位置(也参见 子控件原点)。

如果没有指定此属性,它默认为 0

示例

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

另请参阅 leftrightbottom

宽度

类型

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

如果未指定此属性,则默认为一个取决于子控件/小部件以及当前样式的值。

警告

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

示例

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

另请参阅 高度

-qt-background-role

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

-qt-style-features

类型

列表

您希望在 CSS 属性上应用 Qt 特定样式的 CSS 属性列表。

注意

list 只能包含非位图属性。

图标列表

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

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

名称

标准Pixmap

后退图标

SP_ArrowBack

光盘图标

SP_DriveCDIcon

计算机图标

SP_ComputerIcon

桌面图标

SP_DesktopIcon

对话框应用图标

SP_DialogApplyButton

对话框取消图标

SP_DialogCancelButton

对话框关闭图标

SP_DialogCloseButton

对话框丢弃图标

SP_DialogDiscardButton

对话框帮助图标

SP_DialogHelpButton

对话框无按钮图标

SP_DialogNoButton

对话框确认图标

SP_DialogOkButton

对话框打开图标

SP_DialogOpenButton

对话框重置图标

SP_DialogResetButton

对话框保存图标

SP_DialogSaveButton

对话框是按钮图标

SP_DialogYesButton

目录关闭图标

SP_DirClosedIcon

目录图标

SP_DirIcon

目录链结图标

SP_DirLinkIcon

目录打开图标

SP_DirOpenIcon

坞窗关闭图标

SP_DockWidgetCloseButton

向下箭头图标

SP_ArrowDown

DVD 图标

SP_DriveDVDIcon

文件图标

SP_FileIcon

文件链结图标

SP_FileLinkIcon

文件对话框内容视图图标

SP_FileDialogContentsView

文件对话框详细视图图标

SP_FileDialogDetailedView

文件对话框结束图标

SP_FileDialogEnd

文件对话框信息视图图标

SP_FileDialogInfoView

文件对话框列表视图图标

SP_FileDialogListView

文件对话框新建目录图标

SP_FileDialogNewFolder

文件对话框父目录图标

SP_FileDialogToParent

文件对话框开始图标

SP_FileDialogStart

软盘图标

SP_DriveFDIcon

前进图标

SP_ArrowForward

硬盘图标

SP_DriveHDIcon

家图标

SP_DirHomeIcon

行编辑器清除按钮图标

SP_LineEditClearButton

向左箭头图标

SP_ArrowLeft

消息框严重错误图标

SP_MessageBoxCritical

信息框图标

SP_InfoMessageBox

问题框图标

SP_QuestionMessageBox

警告框图标

SP_WarningMessageBox

网络图标

SP_DriveNetIcon

右箭头图标

SP_ArrowRight

标题栏上下文帮助图标

SP_TitleBarContextHelpButton

标题栏最大化图标

SP_TitleBarMaxButton

标题栏菜单图标

SP_TitleBarMenuButton

标题栏最小化图标

SP_TitleBarMinButton

标题栏正常图标

SP_TitleBarNormalButton

标题栏阴影图标

SP_TitleBarShadeButton

标题栏取消阴影图标

SP_TitleBarUnshadeButton

回收站图标

SP_TrashIcon

上箭头图标

SP_ArrowUp

属性类型列表#

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

类型

语法

描述

对齐方式 .. _alignment

{ top | bottom | left | right | center }*

水平和/或垂直对齐。

示例

QTextEdit { background-position: bottom center }

附件 .. _attachment

{ scroll | fixed }*

滚动或固定附件。

背景 .. _background

{ Brush | Url | Repeat | Alignment }*

Brush , Url , Repeat , 和 Alignment 组成的序列。

布尔值 .. _boolean

0 | 1

真(1)或假(0)。

示例

QDialog { etch-disabled-text: 1 }

边框 .. _border

{ Border Style | Length | Brush }*

简写边框属性。

边框图片 .. _border-image

none | Url Number {4} (stretch | repeat){0,2}

边框图片是一个由九个部分(左上、左中、右上、中左、中、中右、右下、中下、和右中)组成的图像。当需要一定大小的边框时,使用角落部分,并拉伸或重复顶部、右侧、底部和左侧部分以产生所需大小的边框。

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

边框样式 .. _border-style

虚线 | 点划线 | 点两点划线 | 实线 | 双线 | 凹线 | 嵌入 | 凹陷 | 脊线 | 实线 |

指定绘制边框使用的图案。详情请参阅CSS3 草案规范

框颜色 .. _box-colors

画笔 {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 }

框长度 .. _box-lengths

{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 }

画刷 .. _brush

颜色 | 渐变 | 调色板角色

指定颜色、渐变或调色板中的条目。

颜色 .. _color

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(色调、饱和度、亮度)、HSLA(色调、饱和度、亮度、透明度)或命名颜色。可以使用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中允许的相同,请参阅此处 列表。

字体 .. _font

( 字体样式 | 字体粗细 ){0,2} 字体大小 字符串

简写字体属性。

字体大小 .. _font-size

字体的大小。

字体样式 .. _font-style

正常 | 斜体 | 倾斜

字体样式。

字体粗细 .. _font-weight

正常 | 加粗 | 100 | 200 … | 900

字体的粗细程度。

渐变 .. _gradient

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)
}

图标 .. _icon

( URL (禁用 | 激活 | 正常 | 选中)? (开启 | 关闭)? )*

一个包含URL, QIcon::Mode和QIcon::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;
}

长度 .. _length

数字 (px | pt | em | ex)?

一个数字后面跟着一个测量单位。CSS标准建议用户代理必须忽略具有非法值的声明。在Qt中,指定测量单位是强制性的。为了与Qt的早期版本兼容,大多数情况下没有测量单位的数字被视为像素。支持的单位有:

  • px:像素

  • pt:一个点的大小(即英寸的1/72)

  • em:相对于元素字体大小的尺寸(例如,2em表示字体大小的2倍)

  • ex:字体的小写x高度(即“x”的高度)

但是,Qt限于以pt和px为单位的字体大小,任何其他大小必须是px、em或ex。

数字 .. _number

十进制整数或实数

示例:018+127-25512.34-.50009

来源 .. _origin

margin | border | padding | content

指明要使用四个矩形中的哪一个。

  • margin:页边距矩形。页边距位于边框外部。

  • border:边框矩形。这是绘制任何边框的位置。

  • padding:内边距矩形。与页边距不同,内边距位于边框内部。

  • content:内容矩形。这指定了实际内容所在的位置,不包括任何内边距、边框或页边距。

另请参阅 盒模型

调色板角色 .. _paletterole

alternate-base | accent | base | bright-text | button | button-text | dark | highlight | highlighted-text | light | link | link-visited | mid | midlight | shadow | text | window | window-text

这些值对应于小部件的 QPalette 中的颜色角色。

例如,

QPushButton { color: palette(dark); }

半径 .. _radius

{1, 2}

一个或两个出现的 长度 。如果指定了一个长度,则该长度用作定义圆角的四分之一圆的半径。如果指定了两个长度,则第一个长度是四分之一椭圆的水平半径,而第二个长度是垂直半径。

重复 .. _repeat

repeat-x | repeat-y | repeat | no-repeat

表示重复性质的值。

  • repeat-x:水平重复。

  • repeat-y:垂直重复。

  • repeat:水平和垂直重复。

  • no-repeat:不重复。

URL .. _url

url(filename)

filename 是本地磁盘上存储的文件名或使用 Qt 资源系统的文件。设置图像隐式地设置了元素的宽度和高度。

伪状态列表#

以下伪状态被支持:

伪状态

描述

:active .. _active

当小部件位于活动窗口中时设置此状态。

:adjoins-item .. _adjoins-item-ps

::branch of a QTreeView相邻于一个项时设置此状态。

:alternate .. _alternate-ps

QAbstractItemView的行交替着色时(当alternatingRowColors()设置为true时),此状态会被设置为每行交替。

:bottom .. _bottom-ps

该项定位在底部。例如,具有底部标签的QTabBar

:checked .. _checked-ps

该项处于选中状态。例如,QAbstractButton的选中状态。

:closable .. _closable-ps

项可以被关闭。例如,QDockWidget开启了DockWidgetClosable功能。

:closed .. _closed-ps

该项处于关闭状态。例如,在QTreeView中未展开的项。

:default .. _default-ps

该项是默认的。例如,一个默认的QPushButtonQMenu中的默认动作。

:disabled .. _disabled-ps

该项处于禁用状态。

:editable .. _editable-ps

QComboBox可编辑。

:edit-focus .. _edit-focus-ps

该项具有编辑焦点(见State_HasEditFocus)。此状态仅适用于Qt Extended应用程序。

:enabled .. _enabled-ps

该项处于启用状态。

:exclusive .. _exclusive-ps

该项目是独家项目组的一部分。例如,一个独家QActionGroup中的菜单项。

:first .. _first-ps

该项目是第一项(在列表中)。例如,QTabBar中的第一个标签。

:flat .. _flat-ps

该项目是平坦的。例如,一个平坦的QPushButton

:floatable .. _floatable-ps

项目可以被浮动。例如,QDockWidget具有启用的DockWidgetFloatable功能。

:focus .. _focus-ps

该项目具有input focus

:has-children .. _has-children-ps

该项目有子项。例如,QTreeView中的具有子项的项目。

:has-siblings .. _has-siblings-ps

该项目有兄弟项。例如,具有兄弟项的QTreeView中的项。

:horizontal .. _horizontal-ps

该项目具有水平方向。

:hover .. _hover-ps

鼠标悬停在该项目上。

:indeterminate .. _indeterminate-ps

该项目具有不确定状态。例如,部分勾选的QCheckBoxQRadioButton

:last .. _last-ps

该项目是最后一项(在列表中)。例如,QTabBar中的最后一个标签。

:left .. _left-ps

该项目位于左侧。例如,标签位于左侧的QTabBar

:maximized .. _maximized-ps

项目已最大化。例如,一个最大化的QMdiSubWindow

:middle .. _middle-ps

项目处于中间位置(在列表中)。例如,在一个 QTabBar 中的非起始或非结束标签页。

:minimized .. _minimized-ps

项目已最小化。例如,一个最小化的 QMdiSubWindow

:movable .. _movable-ps

项目可以被移动。例如,具有 QDockWidgetDockWidgetMovable 功能开启。

:no-frame .. _no-frame-ps

项目没有边框。例如,无边框的 QSpinBoxQLineEdit

:non-exclusive .. _non-exclusive-ps

项目是非排他性项目组的一部分。例如,在非排他性QActionGroup中的菜单项。

:off .. _off-ps

对于可切换状态的项,这适用于处于“关闭”状态的项。

:on .. _on-ps

对于可切换状态的项,这适用于处于“开启”状态的控件。

:only-one .. _only-one-ps

项目是唯一的(在列表中)。例如,在 QTabBar 中的单独标签页。

:open .. _open-ps

项目处于打开状态。例如,在 QTreeView 中的展开项,或具有打开菜单的 QComboBoxQPushButton

:next-selected .. _next-selected-ps

下一个项目(在列表中)被选中。例如,一个 QTabBar 的选中标签页位于此项目的旁边。

:pressed .. _pressed-ps

使用鼠标按下该项目。

:previous-selected .. _previous-selected-ps

前一项(在列表中)已被选中。例如,位于选中标签旁边的QTabBar标签。

:read-only .. _read-only-ps

该项被标记为只读或不可编辑。例如,一个只读的QLineEdit或一个不可编辑的QComboBox

:right .. _right-ps

该项位于右侧。例如,其标签位于右侧的QTabBar

:selected .. _selected-ps

该项被选中。例如,在QTabBar中的选中标签或QMenu中的选中项。

:top .. _top-ps

该项位于顶部。例如,其标签位于顶部的QTabBar

:unchecked .. _unchecked-ps

该项未被选中。

:vertical .. _vertical-ps

该项具有垂直方向。

:window .. _window-ps

该部件是一个窗口(即顶级窗口)。

子控件列表#

以下子控件可用:

子控件

描述

::add-line .. _add-line-sub

用于添加QScrollBar一条线的按钮。

::add-page .. _add-page-sub

位于add-line之间,与QScrollBar的把手(滑块)之间的区域。

::branch .. _branch-sub

QTreeView的分支指示器。

::chunk .. _chunk-sub

QProgressBar的进度块。

::close-button .. _close-button-sub

QDockWidgetQTabBar 的关闭按钮

::corner .. _corner-sub

QAbstractScrollArea 中两个滚动条的交界处

::down-arrow .. _down-arrow-sub

QComboBoxQHeaderView(排序指示器)、QScrollBarQSpinBox 的向下箭头

::down-button .. _down-button-sub

QScrollBarQSpinBox 的向下按钮

::drop-down .. _drop-down-sub

QComboBox 的下拉按钮

::float-button .. _float-button-sub

QDockWidget 的浮动按钮

::groove .. _groove-sub

QSlider 的凹槽

::indicator .. _indicator-sub

QAbstractItemViewQCheckBoxQRadioButton、可复选的 QMenu 项或可复选的 QGroupBox 的指示器

::handle .. _handle-sub

滚动条(滑块)的句柄,用于QScrollBarQSplitterQSlider

::icon .. _icon-sub

QAbstractItemViewQMenu的图标。

::item .. _item-sub

QAbstractItemViewQMenuBarQMenuQStatusBar的一个项目。

::left-arrow .. _left-arrow-sub

QScrollBar的左箭头。

::left-corner .. _left-corner-sub

QTabWidget的左角。例如,此控件可用于控制QTabWidget中的左角小部件的位置。

::menu-arrow .. _menu-arrow-sub

带有菜单的QToolButton的箭头。

::menu-button .. _menu-button-sub

QToolButton的菜单按钮。

::menu-indicator .. _menu-indicator-sub

QPushButton的菜单指示器。

::right-arrow .. _right-arrow-sub

QMenuQScrollBar的右箭头。

::pane .. _pane-sub

一个 QTabWidget 的面板(框架)。

::right-corner .. _right-corner-sub

一个 QTabWidget 的右角。例如,这个控件可以被用来控制 QTabWidget 中的右角部件的位置。

::scroller .. _scroller-sub

一个 QMenuQTabBar 的滚动条。

::section .. _section-sub

一个 QHeaderView 的部分。

::separator .. _separator-sub

一个 QMenu 或在一个 QMainWindow 中的分隔符。

::sub-line .. _sub-line-sub

减少一个行的 QScrollBar 的按钮。

::sub-page .. _sub-page-sub

一个 sub-lineQScrollBar 的滑块(handle)之间的区域。

::tab .. _tab-sub

一个 QTabBarQToolBox 的标签。

::tab-bar .. _tab-bar-sub

一个 QTabWidget 的标签栏。这个子控件仅仅用于控制 QTabBarQTabWidget 内的位置。要使用 ::tab 子控件来设置标签的样式。

::tear .. _tear-sub

QTabBar 的撕裂指示器。

::tearoff .. _tearoff-sub

QMenu 的撕裂指示器。

::text .. _text-ps

QAbstractItemView 的文本。

::title .. _title-sub

QGroupBox 或 QDockWidget 的标题。

::up-arrow .. _up-arrow-sub

QHeaderView(排序指示器)、QScrollBar 或 QSpinBox 的向上箭头。

::up-button .. _up-button-sub

QSpinBox 的向上按钮。

请参阅 自定义 QPushButton 的菜单指示器子控件示例,了解如何自定义子控件。