Qt4.7文档翻译:Qt样式单参考,Qt Style Sheets Reference(超长,超全)

内容目录


Qt样式单参考


可进行样式设置的部件列表


属性列表


图标列表


属性类型列表


伪状态列表


子控件列表

Qt样式单参考

Qt样式单支持各种属性、伪状态和子控件,这样使得妳能够自行设计部件的外观。

可进行样式设置的部件列表

下表列出的是可使用样式单来自定义其外观的Qt 部件:


部件


如何设置样式


QAbstractScrollArea


支持盒状模型。

QAbstractScrollArea的所有继承类,包括QTextEditQAbstractItemView(所有的条目视图(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


只支持backgroundbackground-clipbackground-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:exclusivenon-exclusive伪状态。

可选中的菜单条目的指示器是通过::indicator子控件来进行样式设置的。

分隔符是使用::separator子控件来进行样式设置的。

对于有子菜单的条目,它们的箭头标记是使用right-arrowleft-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)(也就是说,宽度或高度,取决于方向)是使用widthheight属性来设置的。要确定方向的话,就使用:horizontal:vertical伪状态。

滑块可使用::handle子控件来进行样式设置。设置min-widthmin-height可按照方向来对滑块提供尺寸的限制。

(以下部分的原文写得很糟糕,本座按照理解修改咯某些语意,有不清楚的地方最好自行试验)

::add-line子控件可用来对那个增加一行的按钮进行样式设置。默认情况下,加一行(add-line)子控件被放置在部件的边框(Border)区域的右下角(原文意思是右上角)。取决于部件的方向,其中的箭头(前面这个主语从句,原文没有)可能是::right-arrow::down-arrow。默认情况下,箭头会被放置在加一行子控件的内容区域的中心。

::sub-line子控件可用来对那个减少一行的按钮进行样式设置。默认情况下,减一行(sub-line)子控件被放置在部件的边框区域的左上角(原文是右下角)。取决于部件的方向,其中的箭头(前面这个主语从句,原文没有)可能是::left-arrow::up-arrow。默认情况下,箭头会被放置在减一行子控件的内容区域的中心。

::sub-page子控件可用来对那个可起到减一页作用的滑块区域进行样式设置。::add-page子控件可用来对那个可起到加一页作用的滑块区域进行样式设置。

参考自定义QScrollBar示例。


QSizeGrip


支持widthheightimage属性。

参考自定义QSizeGrip示例。


QSlider


支持盒状模型。对于水平滑动器,必须提供min-widthheight属性。对于竖直滑动器,必须提供min-heightwidth属性。

滑动器的滑槽是使用::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,可使用"QTableViewQTableCornerButton::section"选择器来进行样式设置。

警告:如果妳只为QTableCornerButton 设置背景色的话,背景可能不会显示出来,除非妳将边框属性设置成某個值。这是∵,默认情况下,QTableCornerButton會绘制一個原始的边框,它會完全挡住背景色。

网格(grid)的颜色可使用gridline-color属性来进行设置。

参考QAbsractScrollArea以了解如何设置可滚动的背景。

参考自定义QTableView示例。


QTableWidget


参考QTableView


QTextEdit


支持盒状模型。

选中的文字的颜色和背景色可分别使用selection-colorselection-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示例(QToolTipQFrame)。


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


只支持backgroundbackground-clipbackground-origin属性。

如果妳从QWidget继承一個子类,那么妳需要为妳的自定义QWidget提供以下的一個绘制事件(paintEvent):

void CustomWidget :: paintEvent( QPaintEvent* )

{

QStyleOptionopt;

opt . init( this );

QPainterp( 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;

}

参考backgroundselection-background-color


background


Background


用来设置背景的省写(Shorthand)方式。等价于设置background-color、background-image、background-repeat和/或background-position。

这個属性被QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQDialogQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip和普通的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-originselection-background- colorbackground-clipbackground-attachmentalternate-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子类、QCheckBoxQComboBoxQDialogQFrameQGroupBoxQLabelQPushButtonQRadioButtonQSplitterQTextEditQToolTip和普通的QWidget支持。

如果这個属性没有设置的话,则默认值是border。

示例:

QFrame {

background-image: url(:/images/header.png);

background-position: top left;

background-origin: content;

background-clip: padding;

}

参考backgroundbackground-origin和盒状模型(The Box Model)。


background-origin


Origin


部件的背景矩形区域,与background-position和background-image结合使用。

这個属性被QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQDialogQFrameQGroupBoxQLabelQPushButtonQRadioButtonQSplitterQTextEditQToolTip和普通的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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip和普通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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip和普通QWidget支持。

如果这個属性没有指定,则默认是color(也就是说,部件的前景色)。

示例:

QLineEdit {

border-width: 1px;

border-style: solid;

border-color: white;

}

参考border-styleborder-widthborder-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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip支持。

参考border-colorborder-styleborder-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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip支持。

如果这個属性没有指定的话,那么它的默认值是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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip支持。

如果这個属性没有指定,则默认值是无(none)。

示例:

QLineEdit {

border-width: 1px;

border-style: solid;

border-color: blue;

}

参考border-colorborder-styleborder-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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip支持。

示例:

QLineEdit {

border-width: 2px;

border-style: solid;

border-color: darkblue;

}

参考border-colorborder-radiusborder-styleborder-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 }

参考leftrighttop


button-layout


Number


在一個QDialogButtonBoxQMessageBox中的按钮的布局。可选值是0 (WinLayout)、1 (MacLayout)、2 (KdeLayout)和3 (GnomeLayout)。

如果这個属性没有指定的话,则默认值是由当前风格中的SH_DialogButtonLayout风格提示来确定的。

示例:

* { button-layout: 2 }


color


Brush


用来渲染文字的颜色。

所有支持(respect)QWidget::palette的部件都支持这個属性。

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

示例:

QPushButton { color: red }

参考backgroundselection-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


FontStyle


字体风格。

示例:

QTextEdit { font-style: italic }


font-weight


Font Weight


字体的重量(weight)。


gridline-color *


Color


QTableView中的网格线的颜色。

如果没有设置的话,则默认值是当前风格中为SH_Table_GridLineColor样式提示指定的值。

示例:

* { gridline-color: gray }


height


Length


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

如果这個属性没有设置,则默认值取决于子控件/部件本身及当前的风格。

警告:除非另有说明,否则这个属性对部件无效。如果妳想要某個部件拥有固定的高度,则将min-heightmax-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 }

参考righttopbottom


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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip支持。

如果没有设置的话,默认为0。

示例:

QLineEdit { margin: 2px }

参考paddingspacing和盒状模型。


margin-top


Length


部件的顶部边距。


margin-right


Length


部件的右侧边距。


margin-bottom


Length


部件的底部边距。


margin-left


Length


部件的左侧边距。


max-height


Length


这個部件或者其子控件的最大高度。

这個属性被QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolTip支持。

这個值是相对于盒状模型中的内容区域的。

示例:

QSpinBox { max-height: 24px }

参考max-width


max-width


Length


这個部件或者其子控件的最大宽度。

这個属性被QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolTip支持。

这個值是相对于盒状模型中的内容区域的。

示例:

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子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolTip支持。

如果这個属性没有指定的话,则最小高度是基于这個部件的内容和样式来继承的。

这個值是相对于盒状模型中的内容区域的。

示例:

QComboBox { min-height: 24px }

参考min-width


min-width


Length


这個部件或者其子控件的最小宽度。

这個属性被QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQ LineEditQMenuQMenuBarQPushButtonQRadioButtonQSizeGripQSpinBoxQSplitterQStatusBarQTextEditQToolTip支持。

如果这個属性没有指定的话,则最小宽度是基于这個部件的内容和样式来继承的。

这個值是相对于盒状模型中的内容区域的。

示例:

QComboBox { min-width: 72px }

参考min-height


opacity*


Number


某個部件的透明度。取值范围从0 (透明)到255 (不透明)。当前只被工具提示(tooltips)支持。

如果这個属性没有设置,则默认值由当前风格中的SH_ToolTipLabel_Opacity样式提示确定。

示例:

QToolTip { opacity: 223 }


padding


BoxLengths


这個部件的填充宽度(padding)。等价于设置padding-top、padding-right、padding-bottom和padding-left。

这個属性被QAbstractItemView子类、QAbstractSpinBox子类、QCheckBoxQComboBoxQFrameQGroupBoxQLabelQLineEditQMenuQMenuBarQPushButtonQRadioButtonQSplitterQTextEditQToolTip支持。

如果没有设置的话,默认为0。

示例:

QLineEdit { padding: 3px }

参考marginspacing和盒状模型。


padding-top


Length


这個部件的顶部填充距离。


padding-right


Length


这個部件的右侧填充距离。


padding-bottom


Length


这個部件的底部填充距离。


padding-left


Length


这個部件的左侧填充距离。


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


bool


QTreeView是否要为空白区域(没有条目的区域)绘制交替行颜色


position


relative 
| absolute


leftrighttopbottom指定的偏移值是相对的还是绝对的坐标。

如果没有设置,则默认值是relative。


right


Length


如果position(位置)是relative(相对的)(默认值),则将某個subcontrol(子控件)向左移动一定距离;在那种情况下,指定right:  x 就等价于指定left: - x 。

如果position是absolute(绝对的),则right属性指定的是这個子控件的右边线相对于亲代部件的右边线的位置(参考subcontrol-origin)。

示例:

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

参考lefttopbottom


selection-background-color*


Brush


选中的文字或条目的背景。

所有支持QWidget::palette并且显示选中文字的部件都支持这個属性。如果没有设置,则默认值是为调色板的Highlight角色设置的值。

示例:

QTextEdit { selection- font-size: 12pt; font-family: "Liberation Serif"; text-indent: 0cm;">参考selection-colorbackground


selection-color*


Brush


选中的文字或条目的前景。

所有支持QWidget::palette并且显示选中文字的部件都支持这個属性。

如果没有设置,则默认值是为调色板的HighlightedText角色设置的值。

示例:

QTextEdit { selection-color: white }

参考selection-background-colorcolor


show-decoration-selected*


Boolean


控制的是在一個QListView中的选中区域是要覆盖整个行还是只覆盖文字的区域。

如果没有设置,则默认值是由当前风格中的SH_ItemView_ShowDecorationSelected样式提示确定的。

示例:

* { show-decoration-selected: 1 }


spacing*


Length


这個部件内部的间隔(spacing)。

这個属性被QCheckBox、可选中的QGroupBoxQMenuBarQRadioButton支持。

如果没有指定,则默认值取决于部件本身及当前风格。

示例:

QMenuBar { spacing: 10 }

参考paddingmargin


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;

}

当前只有QPushButtonQProgressBar支持这個属性。


text-decoration


none 
underline 
overline 
line-through


附加的文字效果


top


Length


如果position是relative(相对的)(默认值),则将一個subcontrol(子控件)向下移动指定距离。

如果position是absolute(绝对的),则top属性指定的是这個子控件的顶部边线相对于亲代部件的顶部边线的位置(参考subcontrol-origin)。

如果没有设置的话,则默认值是0。

示例:

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

参考leftrightbottom


width


Length


一個subcontrol(子控件)(或者在某些情况下会是部件)的宽度。

如果没有设置的话,则默认值取决于子控件/部件本身及当前的风格。

警告:除非另外说明,否则这個属性对于部件无效。如果妳想让某個部件具有固定的宽度,则将min-widthmax-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 
| bottom 
| left 
| right 
| center }*


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

示例:

QTextEdit { background-position: bottom center }


Attachment


{ scroll 
| fixed }*


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


Background


Brush
Url
Repeat
Alignment }*


BrushUrlRepeatAlignment构成的序列。


Boolean


0 | 1


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

示例:

QDialog { etch-disabled-text: 1 }


Border


Border Style
Length
Brush }*


边框属性的省写方式。


Border Image


none 
UrlNumber{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-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
Gradient
PaletteRole


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


Color


rgb( r ,  g ,  b ) 
| rgba( r ,  g ,  b , a ) 
| hsv( h ,  s ,  v ) 
| hsva( h ,  s ,  v , a ) 
| # 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)的QCheckBoxQRadioButton


:last


这個条目是(一個列表中的)最后一個。比如,一個QTabBar中的最后一個标签。


:left


这個条目被放置在左边。比如,一個QTabBar,它的标签放置在左边。


:maximized


这個条目被最大化。比如,一個最大化的QMdiSubWindow


:middle


这個条目(在一個列表中)位于中间。比如,在一個QTabBar中,某個既不在开关也不在末尾的标签。


:minimized


这個条目被最小化。比如,一個最小化的QMdiSubWindow


:movable


这個条目可到处移动。比如,某個QDockWidget,它的QDockWidget::DockWidgetMovable特性被开启。


:no-frame


这個条目没有框架(frame)。比如,一個不带框架的QSpinBoxQLineEdit


:non-exclusive


这個条目是某個非互斥的条目组中的一個。比如,在某個非互斥的QActionGroup中的一個菜单条目。


:off


对于可被切换的条目来说,这個对应着它的“关闭”("off")状态。


:on


对于可被切换的条目来说,这個对应着它的“开启”("on")状态。


:only-one


这個条目是(某個列表中)唯一的一個。比如,某個QTabBar中唯一的一個标签。


:open


这個条目处于打开(open)状态。比如,在一個QTreeView中的某個已展开(expanded)的条目,或带有一個已打开的菜单的一個QComboBoxQPushButton


: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


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


::down-button


QScrollBarQSpinBox的向下按钮。


::drop-down


QComboBox的下拉按钮。


::float-button


QDockWidget的浮动(float)按钮。


::groove


QSlider的滑动槽。


::indicator


QAbstractItemViewQCheckBoxQRadioButton、可选中的QMenu条目或可选中的QGroupBox的指示器。


::handle


QScrollBarQSplitterQSlider的滑块(handle)(slider)。


::icon


QAbstractItemViewQMenu的图标。


::item


QAbstractItemViewQMenuBarQMenuQStatusBar中的一個条目。


::left-arrow


QScrollBar的左箭头。


::left-corner


QTabWidget的左侧边角。比如,这個控件可用来控制某個QTabWidget中的左侧边角部件的位置。


::menu-arrow


一個带有菜单的QToolButton的箭头。


::menu-button


QToolButton的菜单按钮。


::menu-indicator


QPushButton的菜单指示器。


::right-arrow


QMenuQScrollBar的右侧箭头。


::pane


QTabWidget的方框(pane)(frame)。


::right-corner


QTabWidget的右侧边角。比如,这個控件可用来控制某個QTabWidget中的右侧边角部件的位置。


::scroller


QMenuQTabBar的滚动器。


::section


QHeaderView的一個区段(section)。


::separator


QMenu(菜单)的分隔符,或一個QMainWindow(主窗口)中的分隔符。


::sub-line


QScrollBar中用来减一行的按钮。


::sub-page


在一個QScrollBar中位于滑块(handle)(slider)与sub-line(减一行按钮)之间的区域。


::tab


QTabBarQToolBox中的标签。


::tab-bar


QTabWidget的标签条。这個子控件仅用来控制QTabBarQTabWidget内部的位置。要设置其样式,则使用::tab子控件。


::tear


QTabBar的离合(tear)指示器。


::tearoff


QMenu的离合(tear-off)指示器。


::text


QAbstractItemView的文字。


::title


QGroupBoxQDockWidget的标题。


::up-arrow


QHeaderView(排序指示器)、QScrollBarQSpinBox的向上箭头。


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

时间: 2024-10-23 11:02:01

Qt4.7文档翻译:Qt样式单参考,Qt Style Sheets Reference(超长,超全)的相关文章

Qt Style Sheets Reference

Qt Style Sheets Reference Qt Style Sheets support various properties, pseudo-states, and subcontrols that make it possible to customize the look of widgets. List of Stylable Widgets The following table lists the Qt widgets that can be customized usin

qt 样式表基本用法

Qt样式表 QT样式表参考CSS层叠样式表设计,不同之处在于QT样式表应用于Widget世界. 可以使用QApplication::setStyleSheet()函数设置到整个应用程序上,也可以使用QWidget::setStyleSheet()设置到某一个部件以及子部件上.如果在不同的级别都设置了样式表,QT会使用所有有效的样式表,称为样式表的层叠. this->setStyleSheet("QpushButton{background:yellow}QSlider{background

Qt样式表都有哪些属性可以设置

我们可以在Qt助手中输入Qt Style Sheets Reference然后选择List of Pseudo-States 项查看Qt控件支持的所有状态. 附几个参考学习的博客: https://blog.csdn.net/goforwardtostep/article/details/65451416 https://blog.csdn.net/baidang201/article/details/51659261 https://www.cnblogs.com/aslistener/p/4

Qt Style Sheets帮助文档 Overview

Qt Style Sheets are a powerful mechanism that allows you to customize the appearance of widgets, in addition to what is already possible by subclassing QStyle. The concepts, terminology, and syntax of Qt Style Sheets are heavily inspired by HTML Casc

QT表单样式规则

1.全局匹配: *,匹配所有的Widgets 2.类型匹配:QPushButton.QComboBox等,匹配该类的示例及其子类 3.属性匹配:通过属性来作为过滤选项,对指定的属性(可以是动态属性,例如QObject的setProperty接口),例如 QLineEdit[readOnly="true"] 对于QLineEdit只读的控件来自定义表单样式.也可以使用~=符号来对属性进行限制: 使用~=来测试是否一个QT属性QStringList包含一个执行的QString,例如: *[

Qt样式表的使用

Qt中可以灵活的使用层叠样式表(CSS),其语法和CSS很相似.因为HTML CSS的灵活性,所以可以很方便的为QT界面设计自己需要的外观.除了子类化Style类,使用QT样式表(QStyleSheet)是另一种快速改变QT程序UI风格的方法,它很大程度上借鉴和参考了 HTML层叠样式表的语法和思想. StyleSheet文件的默认后缀名为qss,可通过命令行参数 -stylesheet filename.qss 来设置样式表,也可通过QApplication::setStyleSheet或QW

通过Qt样式表定制程序外观(比较通俗易懂)

1. 何为Qt样式表[喝小酒的网摘]http://blog.hehehehehe.cn/a/10270.htm2. 样式表语法基础3. 方箱模型4. 前景与背景5. 创建可缩放样式6. 控制大小7. 处理伪状态8. 使用子部件定义微观样式 8.1. 相对定位8.2. 绝对定位 摘要 由于Qt样式表的引入,定制Qt部件的外观样式变得非常简单. 无论你是想仅仅修改一个现有部件的外观,还是想从零开始设计一套全新的界面风格, 现在都有了一种新的方法而不必再去继承并实现一个QStyle的子类. 1. 何为

QT开发(六十五)——QT样式表编程实例

QT开发(六十五)--QT样式表编程实例 一.QComboBox组合框样式定制 1.基本定义 QComboBox  {     border: 1px solid gray;     border-radius: 3px;     padding: 1px 2px 1px 2px;  # 针对于组合框中的文本内容     min-width: 9em;   # 组合框的最小宽度 } QComboBox::drop-down {     subcontrol-origin: padding;   

【C/C++学院】0822-类型转换函数与构造转换函数/类的继承/类的继承以及区别/继承静态成员与静态函数//继承实现代码重用/单继承QT案例/多继承简介以及实战/Gpu编程

类型转换函数与构造转换函数 #include<iostream> class fushu { public: explicit fushu(int num)//避免隐式转换,引发歧义 { x = num; y = num; } void print() { std::cout << x << "+" << y << "i" << std::endl; } operator int(); //不支