zoukankan      html  css  js  c++  java
  • Qt4.7文档翻译:Qt样式单参考,Qt Style Sheets Reference(超长,超全)

    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 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- 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- 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- 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- 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- 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- 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 
    absolute

     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 
    underline 
    overline 
    line-through

    附加的文字效果

    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 { 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 
    bottom 
    left 
    right 
    center }*

    水平和/或竖直方向的对齐方式。

    示例:

    QTextEdit { background-position: bottom center }

    Attachment

    scroll 
    fixed }*

    背景图片随内容滚动或固定不动。

    Background

     Brush 
     Url 
     Repeat 
     Alignment  }*

     Brush  Url  Repeat  Alignment 构成的序列。

    Boolean

    0 | 1

    True(真) (1)或false(假) (0)。

    示例:

    QDialog { etch-disabled-text: 1 }

    Border

     Border Style 
     Length 
     Brush  }*

    边框属性的省写方式。

    Border Image

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

    边框图片是一個由9部分(左上、中上、右上、左中、中、右中、左下、中下、右下)构成的图片。在需要一個特定尺寸的边框时,边角部分按原样使用,而顶部、右侧、底部和左侧的部分则会被拉伸或重复以达到想要的尺寸。

    参考 CSS3草稿规范 以了解细节。

     

    Border Style

    dashed 
    dot-dash 
    dot-dot-dash 
    dotted 
    double 
    groove 
    inset 
    outset 
    ridge 
    solid 
    none

    指定用来绘制边框的模式。参考 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- 1px }                    /* 1px 1px 1px 1px */

    QLabel { border- 1px 2px }                /* 1px 2px 1px 2px */

    QLabel { border- 1px 2px 3px }            /* 1px 2px 3px 2px */

    QLabel { border- 1px 2px 3px 4px }        /* 1px 2px 3px 4px */

    Brush

    Color 
     Gradient 
     PaletteRole

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

     

    Color

    rgb( ,  ,  
    rgba( ,  ,  
    hsv( ,  ,  
    hsva( ,  ,  
    rrggbb 
    Color Name

    采用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 
    italic 
    oblique

    某個字体的风格。

    Font Weight

    normal 
    bold 
    100 
    200 
    ... 
    900

    某個字体的重量。

    Gradient

    qlineargradient 
    |qradialgradient 
    |qconicalgradient

    指定渐变填充方式。有3种渐变填充方式:

    • Linear (线性)渐变在开始和结束点之间对颜色进行插值。

    • Radial (放射)渐变在一個围绕焦点的圆上的焦点与结束点之间对颜色进行插值。

    • Conical (圆锥)渐变回绕一個中心点进行颜色的插值。

    渐变是以对象边界模式(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)为单位。支持的单位包括:

    • px: 像素

    • pt: 一個点的大小(也就是1/72 英寸)

    • em: 在当前字体中‘M’这個字母的宽度

    • ex: 在当前字体中‘x’这個字母的高度

    Number

    一個10进制整数或一個实数

    示例:0、18、+127、-255、12.34、-.5, 0009。

    Origin

    margin 
    border 
    padding 
    content

    指明要使用4個矩形中的哪一個。

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

    • border: 边框矩形。如果绘制边框的话,就绘制在这里。

    • padding: 填充矩形。与边距不同,填充是位于边框之内的。

    • content: 内容矩形。这個矩形就是实际的内容,不包含任何的填充、边框及边距。

    参考盒状模型。

    PaletteRole

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

    这些值对应于当前部件的 QPalette (调色板)中的Color roles(颜色角色)。

    示例,

    QPushButton { color: palette(dark); }

     

    Radius

    Length {1, 2}

    1至2个 Length 。如果只指定1個的话,则这個值会被用作边角处的四分之一圆的半径。如果指定咯2個的话,则第一個会被用作一個四分之一椭圆的水平半径,第二個会被用作竖直半径。

    Repeat

    repeat-x 
    repeat-y 
    repeat 
    no-repeat

    这個值用来指示重复模式。

    • repeat-x: 在水平方向上重复。

    • repeat-y: 在竖直方向上重复。

    • repeat: 在两个方向上都重复。

    • no-repeat: 不重复。

    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

  • 相关阅读:
    day 1 python全栈学习笔记(不完全版)
    python全栈学习之旅正式开始了!
    [Web] Web开发中你可以借鉴的东西
    Google Guice 系列教程 - 基础实践
    Ant
    [Android]Android高级UI开发系列教程(一) Android拖拽教程
    [Android]Android高级UI开发系列教程(二) Android绘制教程
    [Android] 布局基础知识点
    BitbucketGit
    [Android]Android高级UI开发系列教程(三) Android样式和主题教程
  • 原文地址:https://www.cnblogs.com/findumars/p/5654746.html
Copyright © 2011-2022 走看看