您的位置:首页 > Web前端 > CSS

.Qt4.7文档翻译:Qt样式单参考,Qt Style Sheets Reference

2012-12-06 16:19 781 查看

内容

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

•.属性列表

•.图标列表

•.属性类型列表

•.伪状态(Pseudo-States)列表

•.子控件(Sub-Controls)列表

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

nly-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-colorselection-background-color来进行样式设置的。
密码字符可使用lineedit-password-character属性来进行样式设置。
参考自定义QLineEdit示例。
QListView
支持盒状模型。如果交替改变行颜色(alternating row colors)被启用的话,那么交替的颜色(alternating colors)可使用alternate-background-color属性来进行样式设置。
选中的项目(item)的颜色和背景分别是使用selection-colorselection-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子控件来进行样式设置的。可选中的按钮的外观可使用

pen
:closed伪状态来进行样式设置。
警告:如果妳只为QPushButton设置一个背景色(background-color)的话,那個背景可能不会显示出来,除非妳将边框(border)属性设置成某個值。勒是∵,在默认情况下,QPushButton会绘制一個原始的(native)边框,它會完全覆盖(overlaps)背景色。例如,
QPushButton { background-color: red; 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子控件进行样式设置。标签支持

nly-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-colorselection-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

nly-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 { background-color: red; border: none; }
参考自定义QToolButton示例。
QToolBox
支持盒状模型。
单个标签可使用::tab子控件来进行样式设置。标签支持

nly-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-colorselection-background-color来进行样式设置的。
选择行为是由show-decoration-selected属性来进行控制的。
树型视图的分支(branches)可使用::branch子控件来进行样式设置。::branch子控件支持

pen
:closed:has-sibling:has-children伪状态。
使用::item子控件来对QTreeView中的条目进行更精细的控制。
参考QAbsractScrollArea以了解如何设置可滚动的背景。
参考自定义QTreeView示例以了解如何对分支进行样式设置。
QTreeWidget
参考QTreeView
QWidget
只支持backgroundbackground-clipbackground-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宏。

属性列表

本文来源:http://stupidbeauty.com/ShangHaiYanMoJi/2011/11/%E2%80%A2-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%83qt-style-sheets-reference/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  样式表 Qt