内容目录
Qt样式单参考 |
可进行样式设置的部件列表 |
属性列表 |
图标列表 |
属性类型列表 |
伪状态列表 |
子控件列表 |
Qt样式单支持各种属性、伪状态和子控件,这样使得妳能够自行设计部件的外观。
下表列出的是可使用样式单来自定义其外观的Qt 部件:
部件 |
如何设置样式 |
QAbstractScrollArea |
支持盒状模型。 QAbstractScrollArea 的所有继承类,包括 QTextEdit 和QAbstractItemView (所有的条目视图(item view)类),都支持可滚动的背景,使用 background-attachment 来设置是否滚动。将background-attachment 设置成fixed的话,就会使得背景图片(background-image)不随视口(viewport)而滚动。如果将background-attachment 设置成scroll,那么在移动滚动条时,背景图片也会移动。 参考自定义QAbstractScrollArea的示例。 |
QCheckBox |
支持盒状模型。选中状态的指示器可使用 ::indicator 子控件(subcontrol)来进行样式设置。默认情况下,指示器是放在部件的内容(Contents)区域的左(Left)上(Top)角。 spacing 属性控制的是选中状态指示器与文字之间的空隙。 参考自定义QCheckBox示例。 |
QColumnView |
可使用 image 属性来对网格(grip)进行样式设置。箭头指示器(arrow indicators)可使用 ::left-arrow 和 ::right-arrow 子控件来进行样式设置。 |
QComboBox |
组合框周围的框架(frame)可使用盒状模型来进行样式设置。下拉按钮可使用 ::drop-down 子控件来进行样式设置。默认情况下,下拉按钮是放置在部件的填充(padding)区域的右上角。下拉按钮中的箭头标志可使用 ::down-arrow 子控件来进行样式设置。默认情况下,箭头是放置在下拉按钮子控件的内容区域的中央。 参考自定义QComboBox示例。 |
QDateEdit |
参考 QSpinBox 。 |
QDateTimeEdit |
参考 QSpinBox 。 |
QDialog |
只支持 background 、 background-clip 和 background-origin 属性。 警告:确保妳在自定义的部件中定义咯Q_OBJECT宏。 |
QDialogButtonBox |
按钮的布局方式可使用 button-layout 属性来改变。 |
QDockWidget |
在停靠状态(docked),支持对标题栏和标题栏的按钮进行样式设置。 停靠部件的边框(border)可使用 border 属性来进行样式设置。::title 子控件可用来对标题栏进行样式设置。关闭按钮和漂浮按钮可分别使用 ::close-button 和 ::float-button 来相对于(with respect to) ::title 子控件进行位置设置。如果标题栏是竖直的,那么就会存在(is set) :vertical 伪类。另外,取决于QDockWidget::DockWidgetFeature的值, :closable 、 :floatable和 :movable 伪状态也可能存在。 注意:使用QMainWindow::separator 来对改变大小的手柄(resize handle)进行样式设置。 警告:在 QDockWidget 不处于停靠状态(undocked)时,样式单无效,∵Qt 在未停靠状态会使用原生(native)的顶级窗口。 参考自定义QDockWidget示例。 |
QDoubleSpinBox |
参考 QSpinBox 。 |
QFrame |
支持盒状模型。 从4.3 开始,对一個 QLabel 设置样式单的话,會自动将QFrame::frameStyle 属性设置成QFrame::StyledPanel。 参考自定义QFrame示例。 |
QGroupBox |
支持盒状模型。标题可使用 ::title 子控件来进行样式设置。默认情况下,标题是按照QGroupBox::textAlignment 来放置位置的。 如果是一個可选中(checkable)的 QGroupBox 的话,那么标题也包含选中状态指示器。指示器可使用 ::indicator 子控件来进行样式设置。 spacing 属性可用来控制文字与指示器之间的间隔。 参考自定义QGroupBox示例。 |
QHeaderView |
支持盒状模型。表头视图(header view)的各个节区(sections)是使用 ::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 |
支持盒状模型。 选中的项目(item)的颜色和背景分别是使用selection- color 和selection-background-color 来进行样式设置的。 密码字符可使用 lineedit-password-character 属性来进行样式设置。 参考自定义QLineEdit示例。 |
QListView |
支持盒状模型。如果交替改变行颜色(alternating row colors)被启用的话,那么交替的颜色(alternating colors)可使用alternate-background-color 属性来进行样式设置。 选中的项目(item)的颜色和背景分别是使用selection- color 和selection-background-color 来进行样式设置的。 选择行为是由 show-decoration-selected 属性来进行控制的。 使用 ::item 子控件来对 QListView 中的条目进行更精细的控制。 参考 QAbsractScrollArea 以了解对可滚动的背景的样式设置。 参考自定义QListView示例。 |
QListWidget |
参考 QListView 。 |
QMainWindow |
支持对分隔符进行样式设置。 在 QMainWindow 中使用 QDockWidget 时产生的分隔符是使用::separator 子控件来进行样式设置的。 参考自定义QMainWindow示例。 |
QMenu |
支持盒状模型。 单个的条目是使用 ::item 子控件来进行样式设置的。除咯通常的伪状态以外,item子控件还支持 :selected 、 :default 、:exclusive 和 non-exclusive 伪状态。 可选中的菜单条目的指示器是通过 ::indicator 子控件来进行样式设置的。 分隔符是使用 ::separator 子控件来进行样式设置的。 对于有子菜单的条目,它们的箭头标记是使用 right-arrow 和left-arrow 来进行样式设置的。 滚动器(scroller)是使用 ::scroller 来进行样式设置的。 分离菜单(tear-off)是使用 ::tearoff 来进行样式设置的。 参考自定义QMenu示例。 |
QMenuBar |
支持盒状模型。 spacing 属性指明菜单条目之间的空隙大小。单个的条目是使用 ::item 子控件来进行样式设置的。 警告:在Qt/Mac 平台上,菜单条通常是嵌入系统的全局菜单条中的。在这种情况下,样式单无效。 参考自定义QMenuBar示例。 |
QMessageBox |
messagebox-text-interaction-flags 属性可用来改变消息框中的文字的交互模式。 |
QProgressBar |
支持盒状模型。进度条的进度块(chunks)可使用 ::chunk 子控件来进行样式设置。进度块显示在部件的内容区域中。 如果进度条显示文字,那么就使用 text-align 属性来设置文字的位置。 不确定的(Indeterminate)进度条会有 :indeterminate 伪状态。 参考自定义QProgressBar示例。 |
QPushButton |
支持盒状模型。支持 :default 、 :flat 、 :checked 伪状态。 对于包含有一個菜单的 QPushButton ,其菜单指示器是使用::menu-indicator 子控件来进行样式设置的。可选中的按钮的外观可使用 :open 和 :closed 伪状态来进行样式设置。 警告:如果妳只为 QPushButton 设置一个背景色(background-color)的话,那個背景可能不会显示出来,除非妳将边框(border)属性设置成某個值。勒是∵,在默认情况下,QPushButton 会绘制一個原始的(native)边框,它會完全覆盖(overlaps)背景色。例如, QPushButton { border: none; } 参考自定义QPushButton示例。 |
QRadioButton |
支持盒状模型。选中指示器可使用 ::indicator 子控件来进行样式设置。默认情况下,指示器被放置在部件的内容区域的左上角。 spacing 属性指明选中指示器与文字之间的空隙大小。 参考自定义QRadioButton示例。 |
QScrollBar |
支持盒状模型。目前认为滑块在其中滑动的那个槽(groove)就是这个部件的内容区域。 QScrollBar 的广度(extent)(也就是说,宽度或高度,取决于方向)是使用 width 或 height 属性来设置的。要确定方向的话,就使用 :horizontal 和 :vertical 伪状态。 滑块可使用 ::handle 子控件来进行样式设置。设置 min-width 或min-height 可按照方向来对滑块提供尺寸的限制。 (以下部分的原文写得很糟糕,本座按照理解修改咯某些语意,有不清楚的地方最好自行试验) ::add-line 子控件可用来对那个增加一行的按钮进行样式设置。默认情况下,加一行(add-line)子控件被放置在部件的边框(Border)区域的右下角(原文意思是右上角)。取决于部件的方向,其中的箭头(前面这个主语从句,原文没有)可能是 ::right-arrow 或 ::down-arrow 。默认情况下,箭头会被放置在加一行子控件的内容区域的中心。 ::sub-line 子控件可用来对那个减少一行的按钮进行样式设置。默认情况下,减一行(sub-line)子控件被放置在部件的边框区域的左上角(原文是右下角)。取决于部件的方向,其中的箭头(前面这个主语从句,原文没有)可能是 ::left-arrow 或 ::up-arrow 。默认情况下,箭头会被放置在减一行子控件的内容区域的中心。 ::sub-page 子控件可用来对那个可起到减一页作用的滑块区域进行样式设置。 ::add-page 子控件可用来对那个可起到加一页作用的滑块区域进行样式设置。 参考自定义QScrollBar示例。 |
QSizeGrip |
支持 width 、 height 和 image 属性。 参考自定义QSizeGrip示例。 |
QSlider |
支持盒状模型。对于水平滑动器,必须提供 min-width 和 height属性。对于竖直滑动器,必须提供 min-height 和 width 属性。 滑动器的滑槽是使用 ::groove 来进行样式设置的。默认情况下,滑槽被放置在部件的内容区域中。滑动器的滑块(thumb)是使用::handle 子控件来进行样式设置的。这个子控件就在滑槽的内容区域中移动。 参考自定义QSlider示例。 |
QSpinBox |
旋转框(spin box)的框架(frame)可使用盒状模型来进行样式设置。 向上按钮和箭头可使用 ::up-button 和 ::up-arrow 子控件来进行样式设置。默认情况下,向上按钮被放置在部件的填充区域的右上角。如果没有设置显式的尺寸,那么,它會占据它的参考(reference)区域的一半高度。向上箭头被放置在向上按钮的内容区域的中心。 向下按钮和箭头可使用 ::down-button 和 ::down-arrow 子控件来进行样式设置。默认情况下,向下按钮被放置在部件的填充区域的右下角。如果没有设置显式的尺寸,那么,它會占据它的参考(reference)区域的一半高度。向下箭头被放置在向下按钮的内容区域的中心。 参考自定义QSpinBox示例。 |
QSplitter |
支持盒状模型。分割器(splitter)的手柄是使用 ::handle 子控件进行样式设置的。 参考自定义QSplitter示例。 |
QStatusBar |
只支持 background 属性。单个条目的框架可使用 ::item 子控件来进行样式设置。 参考自定义QStatusBar示例。 |
QTabBar |
单个标签(tabs)可使用 ::tab 子控件来进行样式设置。关闭按钮可使用 ::close-button 子控件进行样式设置。标签支持 :only-one、 :first 、 :last 、 :middle 、 :previous--selected 、:next-selected 、 :selected 伪状态。 取决于标签组的方向,會有 :top 、 :left 、 :right 、 :bottom伪状态。 处于选中状态的重叠的标签是通过使用负数的边距(margins)或使用absolute(绝对)位置模式来创建的。 QTabBar 的分离(tear)指示器是使用 ::tear 子控件来进行样式设置的。 QTabBar 用两个QToolButtons 来表示它的滚动器,它们可使用QTabBar QToolButton选择器来进行样式设置。使用 ::scroller子控件来指定滚动按钮的宽度。 QTabBar 中的标签的对齐方式是使用 alignment 属性来进行设置的。 警告:要改变 QTabWidget 中的 QTabBar 的位置,就使用 tab-bar子控件(并且设置子控件位置(subcontrol-position))。 参考自定义QTabBar示例。 |
QTabWidget |
标签部件的框架是使用 ::pane 子控件来进行样式设置的。左边角和右边角分别是使用 ::left-corner 和 ::right-corner 来进行样式设置的。标签条的位置是使用 ::tab-bar 子控件来控制的。 默认情况下, QTabWidget 的子控件的位置是按照 QWindowsStyle风格来确定的。要想将 QTabBar 放置在中央的位置,就设置tab-bar 子控件的subcontrol-position。 取决于标签组的方向,會有 :top 、 :left 、 :right 、 :bottom伪状态。 参考自定义QTabWidget示例。 |
QTableView |
支持盒状模型。如果交替改变行颜色(alternating row colors)被启用的话,那么交替的颜色(alternating colors)可使用alternate-background-color 属性来进行样式设置。 选中的项目(item)的颜色和背景分别是使用selection- color 和selection-background-color 来进行样式设置的。 QTableView 中的边角(corner)部件是一個 QAbstractButton ,可使用" QTableView QTableCornerButton::section"选择器来进行样式设置。 警告:如果妳只为QTableCornerButton 设置背景色的话,背景可能不会显示出来,除非妳将边框属性设置成某個值。这是∵,默认情况下,QTableCornerButton會绘制一個原始的边框,它會完全挡住背景色。 网格(grid)的颜色可使用 gridline-color 属性来进行设置。 参考 QAbsractScrollArea 以了解如何设置可滚动的背景。 参考自定义QTableView示例。 |
QTableWidget |
参考 QTableView 。 |
QTextEdit |
支持盒状模型。 选中的文字的颜色和背景色可分别使用 selection-color 和selection-background-color 来进行样式设置。 参考 QAbsractScrollArea 以了解如何设置可滚动的背景。 |
QTimeEdit |
参考 QSpinBox 。 |
QToolBar |
支持盒状模型。 取决于工具条所在的区域(停靠方向),可能會存在 :top 、 :left、 :right 、 :bottom 伪状态。 :first 、 :last 、 :middle 、 :only-one 伪状态能够指示这個工具条在一個线性(line)组(group)(参考QStyleOptionToolBar::positionWithinLine)中的位置。 QToolBar 的分隔符是使用 ::separator 子控件来进行样式设置的。 手柄(handle)(用来移动工具条)是使用 ::handle 子控件来进行样式设置的。 参考自定义QToolBar示例。 |
QToolButton |
支持盒状模型。 如果这個 QToolButton 拥有一個菜单的话,那么 ::menu-indicator子控件可用来对菜单指示器进行样式设置。默认情况下,菜单指示器(menu-indicator)被放置在这個部件的填充区域的右下角。 如果这個 QToolButton 是处于QToolButton::MenuButtonPopup模式,那么 ::menu-button 子控件就会用来绘制菜单按钮。 ::menu-arrow 子控件被用来在菜单按钮里面绘制菜单箭头。默认情况下,它会位于菜单按钮子控件的内容区域的中心。 如果这個 QToolButton 显示箭头的话,那么 ::up-arrow 、::down-arrow 、::left- arrow和 ::right-arrow 子控件都会用上。 警告:如果妳只为 QToolButton 设置背景色的话,背景可能不会显示出来,除非妳将边框属性设置成某個值。这是∵,默认情况下,QToolButton 會绘制一個原始的边框,它會完全挡住背景色。例如, QToolButton { border: none; } 参考自定义QToolButton示例。 |
QToolBox |
支持盒状模型。 单个标签可使用 ::tab 子控件来进行样式设置。标签支持 :only-one 、 :first 、 :last 、 :middle 、 :previous-selected 、:next-selected 、 :selected 伪状态。 |
QToolTip |
支持盒状模型。 opacity 属性控制工具提示(tooltip)的透明度。 参考自定义QFrame示例( QToolTip 是 QFrame )。 |
QTreeView |
支持盒状模型。如果交替改变行颜色(alternating row colors)被启用的话,那么交替的颜色(alternating colors)可使用alternate-background-color 属性来进行样式设置。 选中的项目(item)的颜色和背景分别是使用selection- color 和selection-background-color 来进行样式设置的。 选择行为是由 show-decoration-selected 属性来进行控制的。 树型视图的分支(branches)可使用 ::branch 子控件来进行样式设置。::branch子控件支持 :open 、 :closed 、 :has-sibling 和:has-children 伪状态。 使用 ::item 子控件来对 QTreeView 中的条目进行更精细的控制。 参考 QAbsractScrollArea 以了解如何设置可滚动的背景。 参考自定义QTreeView示例以了解如何对分支进行样式设置。 |
QTreeWidget |
参考 QTreeView 。 |
QWidget |
只支持 background 、 background-clip 和 background-origin 属性。 如果妳从 QWidget 继承一個子类,那么妳需要为妳的自定义QWidget 提供以下的一個绘制事件(paintEvent): void CustomWidget :: paintEvent( QPaintEvent * ) { QStyleOption opt; opt . init( this ); QPainter p( this ); style() -> drawPrimitive( QStyle :: PE_Widget , & opt , & p , this ); } 如果没有设置样式单的话,以上的代码不起任何作用(no-operation)。 警告:确保为妳的自定义部件(widget)定义咯Q_OBJECT宏。 |
下面的表格列出咯由Qt 样式单支持的所有属性。它们的值可按照 属性类型 来进行赋值。除非另外有说明,否则以下的属性对所有部件都有用。带有星号*的属性是Qt 特有的,在CSS2 或CSS3 中没有等价属性。
属性 |
类型 |
说明 |
|||
alternate-background-color |
Brush |
在 QAbstractItemView 子类中使用的交替背景色。 如果这個属性没有设置的话,那么默认值就是为调色板(palette)的AlternateBase角色(role)设置的值。 示例: QTreeView { alternate- background: yellow; } 参考 background 和 selection-background-color 。 |
|||
background |
Background |
用来设置背景的省写(Shorthand)方式。等价于设置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 |
Brush |
为这個部件使用的背景颜色。 示例: QLabel { font-size: 10pt; font-family: "DejaVu Sans Mono"; padding: 0cm; border-style: none; background-color: rgb(246, 246, 246);">QLineEdit { "> |
background-image |
Url |
为这個部件使用的背景图片。图片的半透明部分会露出背景颜色(background-color)。 示例: QFrame { background-image: url(:/images/hydro.png) } |
background-repeat |
Repeat |
在填充background-origin矩形的过程中,背景图片是否要重要,以及如何重复。 如果没有设置的话,则背景图片在两个方向上都重复(repeat)。 示例: QFrame { background: white url(:/images/ring.png); background-repeat: repeat-y; background-position: left; } |
|||
background-position |
Alignment |
背景图片在background-origin矩形中的对齐方式。 没有设置的话,则对齐方式是top left(左上)。 Example: QFrame { background: url(:/images/footer.png); background-position: bottom left; } |
|||
background-attachment |
Attachment |
确定在一個 QAbstractScrollArea 中的背景图片是否会随视口(viewport)滚动。默认情况下,背景图片会随视口滚动。 示例: QTextEdit { background-image: url("leaves.png"); background-attachment: fixed; } 参考 background 。 |
|||
background-clip |
Origin |
在部件的矩形区域中绘制背景(background)的区域。 这個属性指定的是background-color和background-image在其中被修剪(clipped)的矩形区域。 这個属性被 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 和盒状模型(The Box Model)。 |
|||
background-origin |
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 |
Border |
用来设置部件的边框的省写方式。等价于设置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 |
用来设置部件的顶部边框的省写方式。等价于设置border-top-color、border-top-style和/或border-top-width。 |
|||
border-right |
Border |
用来设置部件的右侧边框的省写方式。等价于设置border-right-color、border-right-style和/或border-right-width。 |
|||
border-bottom |
Border |
用来设置部件的底部边框的省写方式。等价于设置border-bottom-color、border-bottom-style和/或border-bottom-width。 |
|||
border-left |
Border |
用来设置部件的左侧边框的省写方式。等价于设置border-left-color、border-left-style和/或border-left-width。 |
|||
border-color |
Box Colors |
边框的所有边的颜色。等价于指定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 |
Brush |
边框的顶部边线的颜色。 |
|||
border-right-color |
Brush |
边框的右侧边线的颜色。 |
|||
border-bottom-color |
Brush |
边框的底部边线的颜色。 |
|||
border-left-color |
Brush |
边框的左侧边线的颜色。 |
|||
border-image |
Border Image |
用来填充边框的图片。图片被切成9块,并且在必要的时候还会被拉伸(stretched)。参考 Border Image 以了解细节。 这個属性被 QAbstractItemView 子类、 QAbstractSpinBox 子类、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSplitter 、QTextEdit 和 QToolTip 支持。 参考 border-color 、 border-style 、 border-width 和盒状模型。 |
|||
border-radius |
Radius |
边框的边角的半径。等价于指定border-top-left-radius、border-top-right-radius、border-bottom-right-radius和border-bottom-left-radius。 边框半径(border-radius)会修剪(clips)这個元素的背景( background )。 这個属性被 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 |
Radius |
边框的左上角的半径。 |
|||
border-top-right-radius |
Radius |
边框的右上角的半径。 |
|||
border-bottom-right-radius |
Radius |
边框的右下角的半径。将这個属性设置成正数的值就会产生圆角。 |
|||
border-bottom-left-radius |
Radius |
边框的左下角的半径。将这個属性设置成正数的值就会产生圆角。 |
|||
border-style |
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-color 、 border-style 、 border-image 和盒状模型。 |
|||
border-top-style |
BorderStyle |
边框的顶部边线的风格。 |
|||
border-right-style |
Border Style |
边框的右侧边线的风格。 |
|||
border-bottom-style |
Border Style |
边框的底部边线的风格。 |
|||
border-left-style |
Border Style |
边框的左侧边线的风格。 |
|||
border-width |
Box Lengths |
边框的宽度。等价于设置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 |
Length |
边框的顶部边线的宽度。 |
|||
border-right-width |
Length |
边框的右侧边线的宽度。 |
|||
border-bottom-width |
Length |
边框的底部边线的宽度。 |
|||
border-left-width |
Length |
边框的左侧边线的宽度。 |
|||
bottom |
Length |
如果 position (位置)是relative(相对的)(默认值),则将一个子控件( subcontrol )向上移动一定的位置;在那种情况下,指定bottom: y 等价于指定 top : - y 。 如果 position 是absolute(绝对的),则bottom属性指定的是这个子控件的底部边线相对于亲代(parent)部件的底部边线的位置(参考 subcontrol-origin )。 示例: QSpinBox::down-button { bottom: 2px } 参考 left 、 right 和 top 。 |
|||
button-layout |
Number |
在一個 QDialogButtonBox 或 QMessageBox 中的按钮的布局。可选值是0 (WinLayout)、1 (MacLayout)、2 (KdeLayout)和3 (GnomeLayout)。 如果这個属性没有指定的话,则默认值是由当前风格中的SH_DialogButtonLayout风格提示来确定的。 示例: * { button-layout: 2 } |
|||
color |
Brush |
用来渲染文字的颜色。 所有支持(respect)QWidget::palette的部件都支持这個属性。 如果这個属性没有设置的话,则默认值是为这個部件的调色板设置的QWidget::foregroundRole 的值(通常是黑色)。 示例: QPushButton { color: red } 参考 background 和 selection-color 。 |
|||
dialogbuttonbox-buttons-have-icons |
Boolean |
QDialogButtonBox 中的按钮是否要显示图标。 如果这個属性设置为1,则 QDialogButtonBox 中的按钮显示图标;如果设置为0,则不显示图标。 参考List of Icons (图标列表)小节以了解如何设置图标。 QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 1; } 注意:定义咯这個属性的样式必须在 QDialogButtonBox 被创建之前就应用;也就是说妳必须将样式应用到它的亲代部件或者直接应用到程序本身。 |
|||
font |
Font |
用来设置文字的字体的省写方式。等价于设置font-family、font-size、font-style和/或font-weight。 所有支持QWidget::font的部件都支持这個属性。 如果没有设置,则默认值是QWidget::font。 示例: QCheckBox { font: bold italic large "Times New Roman" } |
|||
font-family |
String |
字体族(family)。 示例: 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 |
字体的重量(weight)。 |
|||
gridline-color * |
Color |
在 QTableView 中的网格线的颜色。 如果没有设置的话,则默认值是当前风格中为SH_Table_GridLineColor样式提示指定的值。 示例: * { gridline-color: gray } |
|||
height |
Length |
一個子控件( subcontrol )(在某些情况下,是部件)的高度。 如果这個属性没有设置,则默认值取决于子控件/部件本身及当前的风格。 警告:除非另有说明,否则这个属性对部件无效。如果妳想要某個部件拥有固定的高度,则将 min-height 和 max-height 设置成同一個值。 示例: QSpinBox::down-button { height: 10px } 参考 width 。 |
|||
icon-size |
Length |
某個部件中的图标的宽度和高度。 以下部件的图标尺寸可使用这個属性来设置。
|
|||
image * |
Url + |
被绘制到一個子控件( subcontrol )的内容区域的图片。 image(图片)属性接受一组 Url (统一资源定位器)或一個svg(可缩放矢量图)。实际绘制的图片是由与 QIcon相同的算法来确定的,(也就是说)图片绝不会被放大但必要的时候一定会缩小。如果指定咯一個svg,则图片会缩放到内容区域的大小。 在子控件上设置图片会隐式地设置那個子控件的宽度和高度(除非图片是一個SVG)。 在Qt 4.3 和以后的版本中,可使用 image-position 来指定图片在矩形区域中的对齐方式。 这個属性是只为子控件( subcontrol )设计的--我们不在其它元素中支持它。 警告:需要有QIcon SVG 插件才能渲染SVG 图片。 示例: /* 隐式地将down-button 的大小设置成spindown.png 的大小 */ QSpinBox::down-button { image: url(:/images/spindown.png) } |
|||
image-position |
alignme nt |
在Qt 4.3 及以后的版本中,图片的位置可使用相对定位和绝对定位来设置。 |
|||
left |
Length |
如果 position (位置)是relative(相对的)(默认值),则将某個 subcontrol (子控件)向右移动一定距离。 如果 position 是absolute(绝对的),则left属性指定的是这個子控件的左边线与亲代部件的左边线的相对位置(参考 subcontrol-origin )。 如果没有设置,则默认值是0。 示例: QSpinBox::down-button { left: 2px } 参考 right 、 top 和 bottom 。 |
|||
lineedit-password-character* |
Number |
以Unicode(统一码)指定的 QLineEdit 密码字符。 如果这個属性没有设置,则默认值是由当前风格中的SH_LineEdit_PasswordCharacter样式提示确定的。 示例: * { lineedit-password-character: 9679 } |
|||
margin |
Box Lengths |
部件的边距(margins)。等价于指定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 } 参考 padding 、 spacing 和盒状模型。 |
|||
margin-top |
Length |
部件的顶部边距。 |
|||
margin-right |
Length |
部件的右侧边距。 |
|||
margin-bottom |
Length |
部件的底部边距。 |
|||
margin-left |
Length |
部件的左侧边距。 |
|||
max-height |
Length |
这個部件或者其子控件的最大高度。 这個属性被 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 |
Length |
这個部件或者其子控件的最大宽度。 这個属性被 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* |
Number |
在消息框中的文字的交互行为。可能取的值取决于Qt::TextInteractionFlags。 如果属性没有设置的话,则默认值是由当前风格中的SH_MessageBox_TextInteractionFlags样式提示确定的。 示例: QMessageBox { messagebox-text-interaction-flags: 5 } |
|||
min-height |
Length |
这個部件或者其子控件的最小高度。 这個属性被 QAbstractItemView 子类、 QAbstractSpinBox 子类、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、 QLineEdit 、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSizeGrip 、QSpinBox 、 QSplitter 、 QStatusBar 、 QTextEdit 和 QToolTip 支持。 如果这個属性没有指定的话,则最小高度是基于这個部件的内容和样式来继承的。 这個值是相对于盒状模型中的内容区域的。 示例: QComboBox { min-height: 24px } 参考 min-width 。 |
|||
min-width |
Length |
这個部件或者其子控件的最小宽度。 这個属性被 QAbstractItemView 子类、 QAbstractSpinBox 子类、 QCheckBox 、 QComboBox 、 QFrame 、QGroupBox 、 QLabel 、Q LineEdit、 QMenu 、 QMenuBar 、 QPushButton 、 QRadioButton 、 QSizeGrip 、QSpinBox 、 QSplitter 、 QStatusBar 、 QTextEdit 和 QToolTip 支持。 如果这個属性没有指定的话,则最小宽度是基于这個部件的内容和样式来继承的。 这個值是相对于盒状模型中的内容区域的。 示例: QComboBox { min-width: 72px } 参考 min-height 。 |
|||
opacity* |
Number |
某個部件的透明度。取值范围从0 (透明)到255 (不透明)。当前只被工具提示( tooltips )支持。 如果这個属性没有设置,则默认值由当前风格中的SH_ToolTipLabel_Opacity样式提示确定。 示例: QToolTip { opacity: 223 } |
|||
padding |
Box Lengths |
这個部件的填充宽度(padding)。等价于设置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 } 参考 margin 、 spacing 和盒状模型。 |
|||
padding-top |
Length |
这個部件的顶部填充距离。 |
|||
padding-right |
Length |
这個部件的右侧填充距离。 |
|||
padding-bottom |
Length |
这個部件的底部填充距离。 |
|||
padding-left |
Length |
这個部件的左侧填充距离。 |
|||
paint-alternating-row-colors-for-empty-area |
bool |
QTreeView 是否要为空白区域(没有条目的区域)绘制交替行颜色 |
|||
position |
relative |
用 left 、 right 、 top 和 bottom 指定的偏移值是相对的还是绝对的坐标。 如果没有设置,则默认值是relative。 |
|||
right |
Length |
如果 position (位置)是relative(相对的)(默认值),则将某個 subcontrol (子控件)向左移动一定距离;在那种情况下,指定right: x 就等价于指定 left : - x 。 如果 position 是absolute(绝对的),则right属性指定的是这個子控件的右边线相对于亲代部件的右边线的位置(参考 subcontrol-origin )。 示例: QSpinBox::down-button { right: 2px } 参考 left 、 top 和 bottom 。 |
|||
selection-background-color* |
Brush |
选中的文字或条目的背景。 所有支持QWidget::palette并且显示选中文字的部件都支持这個属性。如果没有设置,则默认值是为调色板的Highlight角色设置的值。 示例: QTextEdit { selection- font-size: 12pt; font-family: "Liberation Serif"; text-indent: 0cm;">参考 selection-color 和 background 。 |
|||
selection-color* |
Brush |
选中的文字或条目的前景。 所有支持QWidget::palette并且显示选中文字的部件都支持这個属性。 如果没有设置,则默认值是为调色板的HighlightedText角色设置的值。 示例: QTextEdit { selection-color: white } 参考 selection-background-color 和 color 。 |
|||
show-decoration-selected* |
Boolean |
控制的是在一個 QListView 中的选中区域是要覆盖整个行还是只覆盖文字的区域。 如果没有设置,则默认值是由当前风格中的SH_ItemView_ShowDecorationSelected样式提示确定的。 示例: * { show-decoration-selected: 1 } |
|||
spacing* |
Length |
这個部件内部的间隔(spacing)。 这個属性被 QCheckBox 、可选中的 QGroupBox 、 QMenuBar 和 QRadioButton 支持。 如果没有指定,则默认值取决于部件本身及当前风格。 示例: QMenuBar { spacing: 10 } 参考 padding 和 margin 。 |
|||
subcontrol-origin* |
Origin |
这個 subcontrol (子控件)在亲代元素中的根源(origin)矩形。 如果没有指定,则默认值为padding。 示例: QSpinBox::up-button { image: url(:/images/spinup.png); subcontrol-origin: content; subcontrol-position: right top; } 参考 subcontrol-position 。 |
|||
subcontrol-position* |
Alignment |
这個子控件( subcontrol )在由 subcontrol-origin 确定的根源矩形中的对齐方式。 如果没有设置的话,则默认值取决于子控件本身。 示例: QSpinBox::down-button { image: url(:/images/spindown.png); subcontrol-origin: padding; subcontrol-position: right bottom; } 参考 subcontrol-origin 。 |
|||
text-align |
Alignment |
文字和图标在这個部件的内容中的对齐方式。 如果没有设置的话,则默认值取决于原生(native)风格。 示例: QPushButton { text-align: left; } 当前只有 QPushButton 和 QProgressBar 支持这個属性。 |
|||
text-decoration |
none |
附加的文字效果 |
|||
top |
Length |
如果 position 是relative(相对的)(默认值),则将一個 subcontrol (子控件)向下移动指定距离。 如果 position 是absolute(绝对的),则top属性指定的是这個子控件的顶部边线相对于亲代部件的顶部边线的位置(参考 subcontrol-origin )。 如果没有设置的话,则默认值是0。 示例: QSpinBox::up-button { top: 2px } 参考 left 、 right 和 bottom 。 |
|||
width |
Length |
一個 subcontrol (子控件)(或者在某些情况下会是部件)的宽度。 如果没有设置的话,则默认值取决于子控件/部件本身及当前的风格。 警告:除非另外说明,否则这個属性对于部件无效。如果妳想让某個部件具有固定的宽度,则将 min-width 和 max-width 设置成相同的值。 示例: QSpinBox::up-button { width: 12px } 参考 height 。 |
在Qt 中使用的图标可使用以下属性来进行自定义。这個小节中列出的每个属性的类型都是 Icon 。
注意,要想让 QDialogButtonBox 中的按钮里出现图标的话,妳需要将dialogbuttonbox-buttons-have-icons 属性设置成true(真)。并且,要对图标的尺寸进行自定义的话,则使用icon-size 属性。
名字 |
QStyle::StandardPixmap |
backward-icon |
QStyle::SP_ArrowBack |
cd-icon |
QStyle::SP_DriveCDIcon |
computer-icon |
QStyle::SP_ComputerIcon |
desktop-icon |
QStyle::SP_DesktopIcon |
dialog-apply-icon |
QStyle::SP_DialogApplyButton |
dialog-cancel-icon |
QStyle::SP_DialogCancelButton |
dialog-close-icon |
QStyle::SP_DialogCloseButton |
dialog-discard-icon |
QStyle::SP_DialogDiscardButton |
dialog-help-icon |
QStyle::SP_DialogHelpButton |
dialog-no-icon |
QStyle::SP_DialogNoButton |
dialog-ok-icon |
QStyle::SP_DialogOkButton |
dialog-open-icon |
QStyle::SP_DialogOpenButton |
dialog-reset-icon |
QStyle::SP_DialogResetButton |
dialog-save-icon |
QStyle::SP_DialogSaveButton |
dialog-yes-icon |
QStyle::SP_DialogYesButton |
directory-closed-icon |
QStyle::SP_DirClosedIcon |
directory-icon |
QStyle::SP_DirIcon |
directory-link-icon |
QStyle::SP_DirLinkIcon |
directory-open-icon |
QStyle::SP_DirOpenIcon |
dockwidget-close-icon |
QStyle::SP_DockWidgetCloseButton |
downarrow-icon |
QStyle::SP_ArrowDown |
dvd-icon |
QStyle::SP_DriveDVDIcon |
file-icon |
QStyle::SP_FileIcon |
file-link-icon |
QStyle::SP_FileLinkIcon |
filedialog-contentsview-icon |
QStyle::SP_FileDialogContentsView |
filedialog-detailedview-icon |
QStyle::SP_FileDialogDetailedView |
filedialog-end-icon |
QStyle::SP_FileDialogEnd |
filedialog-infoview-icon |
QStyle::SP_FileDialogInfoView |
filedialog-listview-icon |
QStyle::SP_FileDialogListView |
filedialog-new-directory-icon |
QStyle::SP_FileDialogNewFolder |
filedialog-parent-directory-icon |
QStyle::SP_FileDialogToParent |
filedialog-start-icon |
QStyle::SP_FileDialogStart |
floppy-icon |
QStyle::SP_DriveFDIcon |
forward-icon |
QStyle::SP_ArrowForward |
harddisk-icon |
QStyle::SP_DriveHDIcon |
home-icon |
QStyle::SP_DirHomeIcon |
leftarrow-icon |
QStyle::SP_ArrowLeft |
messagebox-critical-icon |
QStyle::SP_MessageBoxCritical |
messagebox-information-icon |
QStyle::SP_MessageBoxInformation |
messagebox-question-icon |
QStyle::SP_MessageBoxQuestion |
messagebox-warning-icon |
QStyle::SP_MessageBoxWarning |
network-icon |
QStyle::SP_DriveNetIcon |
rightarrow-icon |
QStyle::SP_ArrowRight |
titlebar-contexthelp-icon |
QStyle::SP_TitleBarContextHelpButton |
titlebar-maximize-icon |
QStyle::SP_TitleBarMaxButton |
titlebar-menu-icon |
QStyle::SP_TitleBarMenuButton |
titlebar-minimize-icon |
QStyle::SP_TitleBarMinButton |
titlebar-normal-icon |
QStyle::SP_TitleBarNormalButton |
titlebar-shade-icon |
QStyle::SP_TitleBarShadeButton |
titlebar-unshade-icon |
QStyle::SP_TitleBarUnshadeButton |
trash-icon |
QStyle::SP_TrashIcon |
uparrow-icon |
QStyle::SP_ArrowUp |
下面的表格总结咯不同属性类型的语法和意义。
类型 |
语法 |
说明 |
Alignment |
{ top |
水平和/或竖直方向的对齐方式。 示例: QTextEdit { background-position: bottom center } |
Attachment |
{ scroll |
背景图片随内容滚动或固定不动。 |
Background |
{ Brush |
由 Brush 、 Url 、 Repeat 和 Alignment 构成的序列。 |
Boolean |
0 | 1 |
True(真) (1)或false(假) (0)。 示例: QDialog { etch-disabled-text: 1 } |
Border |
{ Border Style |
边框属性的省写方式。 |
Border Image |
none |
边框图片是一個由9部分(左上、中上、右上、左中、中、右中、左下、中下、右下)构成的图片。在需要一個特定尺寸的边框时,边角部分按原样使用,而顶部、右侧、底部和左侧的部分则会被拉伸或重复以达到想要的尺寸。 参考 CSS3草稿规范 以了解细节。 |
Border Style |
dashed |
指定用来绘制边框的模式。参考 CSS3草稿规范 以了解细节。 |
Box Colors |
Brush {1,4} |
1至4个 Brush ,分别指定某個盒子的顶部、右侧、底部和左侧边线。如果左侧边线颜色没有指定的话,则与右侧边线相同。如果底部边线颜色没有指定的话,则与顶部边线相同。如果右侧边线颜色没有指定的话,则与顶部边线相同。 示例: QLabel { border-color: red } /* red red red red */ QLabel { border-color: red blue } /* red blue red blue */ QLabel { border-color: red blue green } /* red blue green blue */ QLabel { border-color: red blue green yellow } /* red blue green yellow */ |
Box Lengths |
Length {1,4} |
1至4个 Length ,分别指定某個盒子的顶部、右侧、底部和左侧边线。如果左侧边线长度没有指定的话,则与右侧边线相同。如果底部边线长度没有指定的话,则与顶部边线相同。如果右侧边线长度没有指定的话,则与顶部边线相同。 Examples: QLabel { border-width: 1px } /* 1px 1px 1px 1px */ QLabel { border-width: 1px 2px } /* 1px 2px 1px 2px */ QLabel { border-width: 1px 2px 3px } /* 1px 2px 3px 2px */ QLabel { border-width: 1px 2px 3px 4px } /* 1px 2px 3px 4px */ |
Brush |
Color |
指定一個颜色或一個渐变或调色板中的一個条目。 |
Color |
rgb( r , g , b ) |
采用RGB (红、绿、蓝)或RGBA (红、绿、蓝、透明度(alpha))或HSV (色调、饱和度、值)或HSVA (色调、饱和度、值 、透明度)或命名颜色来指定一個颜色。 rgb()或rgba()语法可使用0 到255 的整数或百分比。hsv()或hsva()中的s、v 和a 的值必须在0-255 范围内;h 的值必须在 0-359 的范围。 示例: QLabel { border-color: red } /* opaque red */ QLabel { border-color: #FF0000 } /* opaque red */ QLabel { border-color: rgba(255, 0, 0, 75%) } /* 75% opaque red */ QLabel { border-color: rgb(255, 0, 0) } /* opaque red */ QLabel { border-color: rgb(100%, 0%, 0%) } /* opaque red */ QLabel { border-color: hsv(60, 255, 255) } /* opaque yellow */ QLabel { border-color: hsva(240, 255, 255, 75%) } /* 75% blue */ 注意:所允许的RGB 颜色与CSS 2.1 中允许的颜色相同,在 这里 列出。 |
Font |
( Font Style | Font Weight ){0,2} Font Size String |
省写的字体属性。 |
Font Size |
Length |
某個字体的尺寸。 |
Font Style |
normal |
某個字体的风格。 |
Font Weight |
normal |
某個字体的重量。 |
Gradient |
qlineargradient |
指定渐变填充方式。有3种渐变填充方式:
渐变是以对象边界模式(Object Bounding Mode)指定的。想象一下一個盒子,渐变就是在这個盒子中渲染的,它的左上角是(0, 0),右下角是(1, 1)。然后,渐变参数就是以从0 到1 的百分比的方式指定的。这些值会在运行时映射(extrapolated)到实际的盒子坐标。可以指定位于盒子边界以外的值(比如说-0.6或1.8)。 警告:结束点必须以递增的顺序排列。 示例: /* 从白色到绿色的线性渐变 */ QTextEdit { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 white, stop: 0.4 gray, stop:1 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)) }
/* 从白色到绿色的圆锥渐变 */ QTextEdit { background: qconicalgradient(cx:0.5, cy:0.5, angle:30, stop:0 white, stop:1 #00FF00) }
/* 从白色到绿色的放射渐变 */ QTextEdit { background: qradialgradient(cx:0, cy:0, radius: 1, fx:0.5, fy:0.5, stop:0 white, stop:1 green) } |
Icon |
( Url (disabled |active | normal |selected)? (on |off)? )* |
由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 |
Number (px | pt |em | ex)? |
一個数字加上一個单位。CSS 标准建议浏览器必须忽略 对无效值的声明。在Qt 中,指定单位是强制性(mandatory)的。为咯兼容早期版本的Qt,不带单位的数字在大部分情况下都会被当成以像素(pixels)为单位。支持的单位包括:
|
Number |
一個10进制整数或一個实数 |
示例:0、18、+127、-255、12.34、-.5, 0009。 |
Origin |
margin |
指明要使用4個矩形中的哪一個。
参考盒状模型。 |
PaletteRole |
alternate-base |
这些值对应于当前部件的 QPalette (调色板)中的Color roles(颜色角色)。 示例, QPushButton { color: palette(dark); } |
Radius |
Length {1, 2} |
1至2个 Length 。如果只指定1個的话,则这個值会被用作边角处的四分之一圆的半径。如果指定咯2個的话,则第一個会被用作一個四分之一椭圆的水平半径,第二個会被用作竖直半径。 |
Repeat |
repeat-x |
这個值用来指示重复模式。
|
Url |
url( filename ) |
filename 指的是本地磁盘上或是使用 Qt资源系统储存的一個文件的名字。设置一個图片的话,会隐式地设置那個元素的宽度和高度。 |
支持以下伪状态:
伪状态 |
说明 |
:active |
当这個部件位于一個活跃窗口中时,就处于这种状态。 |
:adjoins-item |
当一個 QTreeView 的 ::branch 与一個条目相邻时,就处于这种状态。 |
:alternate |
当QAbstractItemView::alternatingRowColors()被设置成true(真)时,在绘制 QAbstractItemView 的行时,每个交替行都具有这個状态。 |
:bottom |
这個条目位于底部。比如,某個 QTabBar ,它的标签位于底部。 |
:checked |
这個条目被选中。比如, QAbstractButton 的checked(选中)状态。 |
:closable |
这個条目可被关闭。比如,某個 QDockWidget ,它的QDockWidget::DockWidgetClosable特性被开启。 |
:closed |
这個条目处于关闭状态。比如,在一個 QTreeView 中的某個处于折叠(non-expanded)状态的条目 |
:default |
这個条目是默认的。比如,一個默认(default)的按钮(QPushButton ),或者一個菜单( QMenu )中的默认动作。 |
:disabled |
这個条目被禁用(disabled)。 |
:editable |
这個组合框( QComboBox )可被编辑。 |
:edit-focus |
这個条目拥有编辑焦点(参考QStyle::State_HasEditFocus)。这個状态只在Qt Extended 程序中有效。 |
:enabled |
这個条目处于启用(enabled)状态。 |
:exclusive |
这個条目是一個互斥的条目组中的一個。比如,在一個互斥的QActionGroup 中的一個菜单条目。 |
:first |
这個条目是(一個列表中的)第一個。比如,一個 QTabBar 中的第一個标签。 |
:flat |
这個条目是平的(flat)。比如,一個平的(flat)按钮(QPushButton )。 |
:floatable |
这個条目可浮动。比如,一個 QDockWidget ,它的QDockWidget::DockWidgetFloatable特性被开启。 |
:focus |
这個条目拥有输入焦点(input focus)。 |
:has-children |
这個条目拥有子代对象。比如,在一個 QTreeView 中,拥有子代条目的条目。 |
:has-siblings |
这個条目拥有兄弟姐妹(siblings)。比如,在一個 QTreeView中,拥有兄弟姐妹的条目。 |
:horizontal |
这個条目是水平的。 |
:hover |
鼠标正悬停于这個条目之上。 |
:indeterminate |
这個条目具有不确定状态。比如,一個被部分选中(partially checked)的 QCheckBox 或 QRadioButton 。 |
:last |
这個条目是(一個列表中的)最后一個。比如,一個 QTabBar 中的最后一個标签。 |
:left |
这個条目被放置在左边。比如,一個 QTabBar ,它的标签放置在左边。 |
:maximized |
这個条目被最大化。比如,一個最大化的 QMdiSubWindow 。 |
:middle |
这個条目(在一個列表中)位于中间。比如,在一個 QTabBar中,某個既不在开关也不在末尾的标签。 |
:minimized |
这個条目被最小化。比如,一個最小化的 QMdiSubWindow 。 |
:movable |
这個条目可到处移动。比如,某個 QDockWidget ,它的QDockWidget::DockWidgetMovable特性被开启。 |
:no-frame |
这個条目没有框架(frame)。比如,一個不带框架的 QSpinBox或 QLineEdit 。 |
:non-exclusive |
这個条目是某個非互斥的条目组中的一個。比如,在某個非互斥的 QActionGroup 中的一個菜单条目。 |
:off |
对于可被切换的条目来说,这個对应着它的“关闭”("off")状态。 |
:on |
对于可被切换的条目来说,这個对应着它的“开启”("on")状态。 |
:only-one |
这個条目是(某個列表中)唯一的一個。比如,某個 QTabBar 中唯一的一個标签。 |
:open |
这個条目处于打开(open)状态。比如,在一個 QTreeView 中的某個已展开(expanded)的条目,或带有一個已打开的菜单的一個 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 中滑块(handle)(slider)与 add-line(加一行)之间的区域。 |
::branch |
QTreeView 的分支指示器。 |
::chunk |
QProgressBar 的进度块。 |
::close-button |
一個 QDockWidget 的或者一個 QTabBar 中的标签的关闭按钮。 |
::corner |
在一個 QAbstractScrollArea 中的两個滚动条之间的边角。 |
::down-arrow |
QComboBox 、 QHeaderView (排序指示器)、 QScrollBar 或QSpinBox 的向下箭头。 |
::down-button |
QScrollBar 或 QSpinBox 的向下按钮。 |
::drop-down |
QComboBox 的下拉按钮。 |
::float-button |
QDockWidget 的浮动(float)按钮。 |
::groove |
QSlider 的滑动槽。 |
::indicator |
QAbstractItemView 、 QCheckBox 、 QRadioButton 、可选中的QMenu 条目或可选中的 QGroupBox 的指示器。 |
::handle |
QScrollBar 、 QSplitter 或 QSlider 的滑块(handle)(slider)。 |
::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 的方框(pane)(frame)。 |
::right-corner |
QTabWidget 的右侧边角。比如,这個控件可用来控制某個QTabWidget 中的右侧边角部件的位置。 |
::scroller |
QMenu 或 QTabBar 的滚动器。 |
::section |
QHeaderView 的一個区段(section)。 |
::separator |
QMenu (菜单)的分隔符,或一個 QMainWindow (主窗口)中的分隔符。 |
::sub-line |
QScrollBar 中用来减一行的按钮。 |
::sub-page |
在一個 QScrollBar 中位于滑块(handle)(slider)与 sub-line (减一行按钮)之间的区域。 |
::tab |
QTabBar 或 QToolBox 中的标签。 |
::tab-bar |
QTabWidget 的标签条。这個子控件仅用来控制 QTabBar 在QTabWidget 内部的位置。要设置其样式,则使用 ::tab 子控件。 |
::tear |
QTabBar 的离合(tear)指示器。 |
::tearoff |
QMenu 的离合(tear-off)指示器。 |
::text |
QAbstractItemView 的文字。 |
::title |
QGroupBox 或 QDockWidget 的标题。 |
::up-arrow |
QHeaderView (排序指示器)、 QScrollBar 或 QSpinBox 的向上箭头。 |
::up-button |
QSpinBox 的向上按钮。 |
参考 自定义QPushButton的菜单指示器子控件 示例以了解如何对子控件进行自定义。
http://stupidbeauty.com/Blog/article/1352/Qt4.7%E6%96%87%E6%A1%A3%E7%BF%BB%E8%AF%91%EF%BC%9AQt%E6%A0%B7%E5%BC%8F%E5%8D%95%E5%8F%82%E8%80%83,Qt%20Style%20Sheets%20Reference