Qt样式表参考(一)

Qt Style Sheets Reference
Qt样式表参考


Qt样式表支持各种属性,伪选择器和子控制器来自定义widget的外观。


List of Stylable Widgets
可被设计的widgets列表


下面是可以使用样式表自定义的widget的列表


QAbstractScrollArea
支持Box Model,所有QAbstractScrollArea的派生类包括QTextEdit和QAbstractItemView支持可滚动的背景通过使用background-attachment。设置background-attachment是fixed的时候提供一个不随视口滚动的背景图片。设置background-attachment是scroll时背景图随滚动条滚动。
QCheckBox
支持Box Model,选择的指示器可以使用::indicator子控制器来设计。默认指示器被放置在contents矩形的左上角。spacing属性指定选择框和文本的间隔。
QColumnView
可以使用image属性,箭头指示器可以使用::left-arrow子控制器和::right-arrow子控制器设计。
QComboBox
围绕ComboBox的框架可以用box model来设计,drop-down按钮可以使用::drop-down子控制器设计,默认drop-down按钮被放置在widget填充矩形的右上角.箭头标记在drop-down按钮里面可以使用down-arrow子控制器来设计,默认箭头被放置在drop-down子控制器的content矩形的中心。
QDateEdit
参考QSpinBox
QDataTimeEdit
参考QSpinBox
QDialog
只支持background,background-clip和background-origin属性,警告确保你为自定义的widget使用了Q_OBJECT宏。
QDialogButtonBox 
layout中的按钮可以使用button-layout属性来改变。
QDockWidget
支持改变标题栏和标题栏按钮在停靠的时候。dockWidget的边框可以使用border属性来设计。::title子控制器可以被用来自定义标题栏。关闭按钮和浮动按钮可以被用::title子控制器使用::close-button和::float-button分别放置。当标题栏是垂直的,:vertical伪选择器被设置.另外依赖于 QDockWidget::DockWidgetFeature,:closable,:floatable和:movable伪选择器呗设置。
警告:当QDockWidget不是停靠状态时样式表是没有效果的,当不停靠的时候,Qt使用本地顶级窗口。
QDoubleSpinBox
参考QSpinBox
QFrame
支持Box Model,从4.3开始设置QLabel的样式表自动的也会设置QFrame::frameStyle属性为QFrame::StyledPanel.
QGroupBox
支持Box Model,标题可以使用::title子控制器设计.默认标题被放置依赖于QGroupBox::textAlignment。在GroupBox是可选择的状态时,标题包含一个check指示器。指示器可以用::indicator子控制器来设计。spacing属性可以用来控制文本和指示器的距离。
QHeaderView
支持Box Model,表头部分可以使用::section子控制器来设计。section子控制器支持:middle,:first,:last,:only-one,:next-selected,:previous-selected,:selected和:checked伪选择器。sort指示器可以使用::up-arrow和down-arrow子控制器来设计。
QLabel
支持Box Model。不支持:hover伪选择器。
QLineEdit
支持Box Model,选中项的颜色和北京可以使用selection-color和selection-background-color来设计。密码字符可以使用lineedit-password-character属性来设计。密码延迟掩饰的时间可以使用lineedit-password-mask-delay来设计。
QListView
支持Box Model当行可替代颜色设置为可用时,可替代颜色可以使用alternate-background-color属性来设计。被选中项的衍射和北京可以使用selection-color和selection-background-color来设计。选中行为可以使用show-decoration-selected属性来控制。
使用::item子控制器来更细粒度的控制QListView项。
QListWidget
参考QListView
QMainWindow
支持separator。当使用QDockWidget时,可以使用MainWindow中的::separator子控制器设计
QMenu
支持Box Model.独立的item使用::item子控制器来设计.另外支持常用的伪选择器.item子控制器支持:selected,:default,:exclusive和no-exclusive伪选择器。按钮可选项使用::indicator子控制器设计。对于一个子菜单,箭头标记可以使用right-aarow和left-arrow来设计.
QMenuBar
支持Box Model。spacing属性指定menu项之间的距离。独立的项使用::item子控制器设计。警告:当Qt运行在Mac上时,menu Bar通常被嵌入到系统的menu Bar里。在这种情况下样式表将无效。
QMessageBox
messageBox-text-interaction-flags属性用来改变message box的交互文本。
QProgrssBar
支持Box Model。进度条的块可以使用::chunk子控制器;来设计。块被显示在widget的Content矩形中。如果进度条显示文本,使用text-align属性来放置文本。
QPushButton
支持Box Model。支持:default,:flat,:checked伪选择器。对于菜单上的按钮,使用::menu-indicator来设计菜单指示器。带有可选择的按钮可以使用:open和:closed伪选择器来定制化。警告:如果你只是在按钮上设置了一个背景色,背景将可能不显现,除非你给border属性设置了一些值,这是因为,默认QPushButton画一个本地的border和背景色完全重叠。例如QPushButton{ background-color:red;border:none;}
QRadioButton
支持Box Model。check指示器可以使用::indicator子控制器被设计。默认控制器被放置在widget Content矩形框的左上角。spacing属性指定check指示器和文本之间的距离。
QScrollBar
支持Box Model。当滑动器移动时widget的contents矩形会形成凹槽。QScrollBar的范围可以通过使用width或者height属性来设置。为了决定朝向可以使用:horizontal和:vertical伪选择器。可以使用:handle子控制器来设计滑动条。朝向取决于::right-arrow或者::down-arrow。默认地,箭头被放置在add-line子控制器的content矩形中心。
::add-line子控制器可以用来设计加线button。默认地,sub-line子控制器被放置在border矩形的右下角。朝向取决于::left-arrow或者::down-arrow。默认地箭头被放置在add-line子控制器的content矩形中心。::sub-line子控制器可以用于设计给减线按钮。::sub-page子控制器被用来设计滚动条到减按钮之间的区域,::add-page用来设计滚动条到加按钮的区域。
QSizeGrip
支持width,height,和image属性。
QSlider
支持Box Model。对与水平滚动条来说,min-width和height属性必须被提供。对于垂直滚动条来说,min-height和width属性必须被提供。slider的凹槽使用::groove来设计。默认groove被放置在widget Content矩形中间
QSpinBox
spin box的框架支持Box Model.上按钮和箭头使用::up-button和::up-arrow子控制器设计。默认up-button被放置在widget padding矩形中心的右上角。没有指定明确的大小,它将占据它参考矩形高度的一般。up-arrow被放置在up-button content矩形的中心。::down-button和::down-arrow同上。
QSplitter
支持Box Model。splitter的滚动块使用::handle子控制器。
QStatusBar
只支持background属性。对于有独立的items的框架可以使用::item子控制器。
QTabBar
单独的tab可以使用::tab子控制器来设计。关闭按钮使用::close-button。tab支持:only-one,:first,:last,:middle,:previous-selected,:next-selected,:selected伪选择器。:top,:left,:right,:buttom伪选择器依赖于tabs的朝向。覆盖tabs为选中状态可以通过压缩边界和使用绝对位置方案来创建。tear指示器可以使用::tear子控制器来设计。QTabBar使用两个QToolButton来滚动可以通过使用QTabBar和QTollButton选择器来设计。为了指定滚动的宽度可以使用::scroller子控制器。
警告为了改变QTabBar里QTabWidget的位置,使用tab-bar子控制器。
QTabWidget
tabWidget的框架使用::pane子控制器设计。左右角可以使用::left-corner和::right-corner设计。tab bar的位置可以使用::tar-bar子控制器控制。默认,子控制器有一个位置在QWindowStyle风格中。为了把QTabBar放置到中心,设置tab-bar子控制器的位置。:top,:left,:right,:botton子选择器依赖于tabs的朝向。
QTableView
支持Box Model当可替代原色被设置为可用湿,可以使用alternate-background-color属性指定。选中项的颜色和背景可以使用section-color和selection-background-color设置。QTableView的拐角widget是作为QAbstractButton实现的并且可以使用"QTableView QTableCornerButton::section"选择器。警告:如果你只是设置了QTableCornerButton的背景色。背景可能不会出现除非你也给border属性设置了一些值。
QTableWidget
参考QTableView
QTextEdit
支持Box Model。选中文本的颜色和背景使用selection-color和selection-background-color设置。
QTimeEdit
参考QSpinBox
QToolBar
支持Box Model.:top,:left,:right,:bottom伪选择器依赖于tool bar分组的区域。:first,:last,:middle,:only-one伪选择器只是tool bar的位置。QToolBar的分割使用::separator子控制器设计,Handle(为了移动toolBar)使用::handle子控制器设置。
QToolButton
支持Box Model。如果QToolButton有一个按钮,::menu-indicator子控制器可以用来设计指示器。默认,menu-indicator被放在widget Padding矩形的右下角。如果QToolButton是在QToolButton::MenuButtonPopup模式,::menu-button子控制器用来绘制menu button.::menu-arrow自控制用来绘制menu-button里面的箭头。默认被放置在menu-button子控制器的content矩形的中心。当QToolButton显示箭头时,::up-arrow,::down-arrow和::left-arrow,::right::arrow自控制其被使用。警告:如果你只是在QToolButton上设置了背景色将不会显现颜色除非你设置了border.
QToolBox
支持Box Model,单独的tabs可以使用::tab子控制器设计。tabs支持:only-one,:first,:last,:middle,:previous-selected,:next-selected,:selected伪选择器。
QToolTip
支持Box Model,opacity属性控制tooltip的透明度。
QTreeView
支持Box Model。当设置可替代行颜色为可用时,可以使用alternate-background-color属性来设计。选中项的颜色和背景使用selection-color和selection-background-color属性来设计。selection的行为可以使用show-decoration-selected属性来控制。tree view的分支被设计使用::branch子控制器。::branch子控制器支持:open,:closed,:has-sibling和:has-children伪选择器。使用::item子控制器来设置更细粒度的QTreeView.
QTreeWidget
参考QTreeView
QWidget
只支持backgound,background-clip,background-origin属性。如果你的子类化QWidget,你需要提供一个painEvent为你的自定义QWidget.
void CustomWidget::paintEvent(QPaintEvent *)
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值