QSS 可样式化控件

QAbstractScrollArea

控件如何定义样式
QAbstractScrollArea支持box model。QAbstractScrollArea的所有派生组件,包括QTextEdit和QAbstractItemView(所有项视图类),都支持使用background-attachment的可滚动背景。将 background-attachment设置为fixed将提供一个不随视口滚动的background-image。将 background-attachment设置为scroll,当滚动条移动时滚动background-image。

QCheckBox

控件如何定义样式
QCheckBox支持box model。检查指示符可以使用::indicator子控件样式化。默认情况下,指示符位于控件内容矩形的左上角。spacing属性指定检查指示符和文本之间的间距。

QColumnView

控件如何定义样式
QColumnView可以使用image属性定义手柄样式。箭头指示符可以通过使用::left-arrow和::right-arrow子控件样式化。

QComboBox

控件如何定义样式
QComboBox围绕combobox的框架可以使用box model进行样式化。下拉按钮可以使用::drop-down子控件进行样式化。默认情况下,下拉按钮位于组件的填充矩形的右上角。下拉按钮内的箭头指示符可以使用::down-arrow子控件样式化。默认情况下,箭头指示符位于下拉按钮的内容矩形的中心。

QDateEdit

控件如何定义样式
QDateEdit参考QSpinBox

QDateTimeEdit

控件如何定义样式
QDateTimeEdit参考QSpinBox

QDialog

控件如何定义样式
QDialog只支持background、background-clip和background-origin属性。警告:确保为自定义Dialog定义了Q_OBJECT宏。

QDialogButtonBox

控件如何定义样式
QDialogButtonBox可以使用button-layout属性更改按钮的布局。

QDockWidget

控件如何定义样式
QDockWidget支持停靠时标题栏和标题栏按钮的样式化。可以使用border属性设置边框样式。::title子控件可用于自定义标题栏。关闭和浮动按钮分别使用::close-button和::float-button相对于::title进行定位。 当标题栏垂直时,:vertical伪类被设置。此外,根据QDockWidget::DockWidgetFeature,:closeable、:floatable和:movable伪状态会被设置。注意:使用QMainWindow::separator设置调整大小的操作条的样式。警告:当QDockWidget取消停靠时,样式表不会起作用,因为Qt在取消停靠时使用本地顶级窗口。

QDoubleSpinBox

控件如何定义样式
QDoubleSpinBox参考QSpinBox

QFrame

控件如何定义样式
QFrame支持box model。从4.3版本开始,在QLabel上设置样式表会自动将QFrame::frameStyle设置为QFrame::StyledPanel。

QGroupBox

控件如何定义样式
QFrame支持box model。标题可以使用::title子控件样式化。默认情况下,标题的位置取决于QGroupBox::textAlignment。在QGroupBox为可选中的情况下,标题包括选中指示器。指示器使用::indicator子控件样式化。spacing属性可用于控制文本和指示器之间的距离。

QHeaderView

控件如何定义样式
QHeaderView支持box model。标题视图部分使用::section子控件样式化。::section子控件支持:middle、:first、:last、:only-one、:next-selected、:previous-selected、:selected和:checked伪状态。排序指示器可以使用::up-arrow和::down-arrow子控件样式化。

QLabel

控件如何定义样式
QLabel支持box model。不支持:hover伪状态。从4.3版本开始,在QLabel上设置样式表会自动将QFrame::frameStyle设置为QFrame::StyledPanel。

QLineEdit

控件如何定义样式
QLineEdit支持box model。被选中文本的颜色和背景颜色分别使用selection-color和selection-background-color进行样式化。密码字符的样式可以使用lineedit-password-character属性进行设置。可以使用lineedit-password-mask-delay属性更改密码掩码延迟。

QListView

控件如何定义样式
QListView支持box model。启用交替行颜色时,可使用alternate-background-color属性设置交替行颜色的样式。被选中行的颜色和背景分别使用selection-color和selection-background-color属性样式化。选择行为由show-decoration-selected属性控制。使用::item子控件对QListView中的项进行更细度的控制。参考QAbstractScrollArea以样式化可滚动的背景。

QMainWindow

控件如何定义样式
QMainWindow支持定义分隔条的样式。在使用QDockWidget时,QMainWindow的分隔条使用::separator子控件样式化。

QMenu

控件如何定义样式
QMenu支持box model。单个项使用::item子控件样式化。除了通常支持的伪状态外,item子控件还支持:selected、:default、:exclusive和:non-exclusive伪状态。可选中菜单项指示器使用::indicator子控件样式化。分隔条使用::separator子控件样式化。对具有子菜单的项,箭头指示器使用::right-arrow和::left-arrow样式化。scroller使用::scroller样式化。tear-off使用::tearoff样式化。

QMenuBar

控件如何定义样式
QMenuBar支持box model。spacing属性指定菜单项之间的间距。单个项使用::item子控件样式化。警告:在Qt/Mac上运行时,菜单栏通常嵌入到系统级菜单栏中。在这种情况下,样式表将不起作用。

QMessageBox

控件如何定义样式
QMessageBoxmessagebox-text-interaction-flags属性可用于更改与消息对话框中文本的交互。

QProgressBar

控件如何定义样式
QProgressBar支持box model。进度条的块(the chunk)可以使用::chunk子控件样式化。块显示在进度条内容矩形当中。如果进度条显示文本,使用text-align属性来设置文本位置。不确定进度条有:indeterminate伪状态集。

QPushButton

控件如何定义样式
QPushButton支持box model。支持:default、:flat和:checked伪状态。对于带有菜单的QPushButton,菜单指示器使用::menu-indicator子控件样式化。可选中按钮的外观可以使用:open和:closed伪状态自定义。警告:如果只在QPushButton上设置背景颜色,除非将border属性设置为某个值,否则背景可能不会出现。这是因为在默认情况下,QPushButton绘制了一个与背景色完全重叠的原生边框。

QRadioButton

控件如何定义样式
QRadioButton支持box model。选中指示器可以使用::indicator样式化。默认情况下,指示器位于QRadioButton内容矩形的左上角。spacing属性定义指示器与文本之间的间距。

QScrollBar

控件如何定义样式
QScrollBar支持box model。QScrollBar的内容矩形被认为是滑动条移动的槽。QScrollBar宽度或高度范围使用width或height属性设置。要确定方向,使用:horizontal和:vertical伪状态。滑动条样式使用::handle子控件定义。设置最小宽度或最小高度可以根据方向为滑动条提供大小限制。::add-line子控件可用于设置跳转下一行按钮的样式。默认情况下,add-line子控件位于QScrollBar边界矩形的右上角。根据不同方向可以使用::right-arrow或::left-arrow。默认情况下,right-arrow或left-arrow位于add-line内容矩形的中心。::sub-line子控件可用于设置跳转上一行按钮的样式。默认情况下,sub-line子控件位于QScrollBar边界矩形的右下角。根据不同方向可以使用::left-arrow或::up-arrow。默认情况下,left-arrow或up-arrow位于add-line内容矩形的中心。::sub-page子控件可用于定义跳转上一页的滑动条区域的样式。::add-page子控件可用于定义跳转下一页的滑动条区域的样式。

QSizeGrip

控件如何定义样式
QSizeGrip支持width、height和image属性。

QSlider

控件如何定义样式
QSlider支持box model。对于水平滑动条,必须设定min-width和height属性。对于垂直滑动条,必须设定min-height和width属性。滑动条的槽使用::groove子控件样式化。默认情况下,滑动槽位于QSlider内容矩形当中。滑动条中的滑块使用::handle子控件样式化。滑块在滑动槽内容矩形当中移动。

QSpinBox

控件如何定义样式
QSpinBoxQSpinBox边框可以使用box model样式化。向上按钮和箭头可以使用::up-button和::up-arrow子控件样式化。默认情况下,up-button位于QSpinBox填充矩形的右上角。如果没有显式的大小,将占据其参考矩形高度的一半。up-arrow位于up-button内容矩形的中心。向下按钮和箭头可以使用::down-button和::down-arrow子控件样式化。默认情况下,down-button位于QSpinBox填充矩形的右下角。如果没有显式的大小,将占据其参考矩形高度的一半。down-arrow位于down-button内容矩形的中心。

QSplitter

控件如何定义样式
QSplitter支持box model。QSplitter的操作柄使用::handle子控件样式化。

QStatusBar

控件如何定义样式
QStatusBar只支持background属性。单个项的边框使用::item子控件样式化。

QTabBar

控件如何定义样式
QTabBar单个选项卡可以使用::tabl子控件样式化。关闭按钮使用::close-button样式化。选项卡支持:only-one、:first、:last、:middle、:previous-selected、next-selected和:selected伪状态。:top、:left、:right和:bottom伪状态取决于选项卡的方向。选中状态的重叠选项卡是使用负边距或绝对位置方案创建的。tear指示器使用::tear子控件样式化。QTabBar使用两个QToolButton作为滚动条,使用QTabBar QToolButton选择器进行样式化。若要指定滚动按钮的宽度,使用::scroller子控件。QTabBar选项卡的对齐方式使用alignment属性设置。警告:更改QTabBar在QTabWidget中的位置,使用tab-bar子控件(并设置subcontrol-position)。

QTabWidget

控件如何定义样式
QTabWidget选项卡的边框使用::pane子控件定义。左右角分别使用::left-corner和::right-corner定义样式。选项卡的位置由::tab-bar子控件控制。默认情况下,子控件在QWindowStyle中具有QTabWidget的位置。若将QTabBar放置在中心,设置tab-bar子控件的subcontrol-position。:top、:left、:right和:botton伪状态取决于选项卡的方向。

QTableView

控件如何定义样式
QTableView支持box model。当启用交替行颜色时,交替色可以使用alternate-background-color属性设置。选中项的颜色和背景分别使用selection-color和selection-background-color设置。QTableView的corner widget是作为QAbstractButton实现的,可以使用QTableView QTableCornerButton::section选择器进行样式化。警告:如果只在QTableCornerButton设置background-color,除非将border属性设置为某个值,否则背景可能不会出现。这是因为在默认情况下,QTableCornerButton绘制了一个与背景完全重叠的原生边框。可以使用gridline-color属性指定网格颜色。参考QAbstractScrollArea定义滚动背景。

QTableWidget

控件如何定义样式
QTableWidget参考QTableView。

QTextEdit

控件如何定义样式
QTextEdit支持box model。选中文本的颜色和背景使用selection-color和selection-background-color属性设置。参考QAbstractScrollArea定义滚动背景。

QTimeEdit

控件如何定义样式
QTimeEdit参考QSpinBox。

QToolBar

控件如何定义样式
QToolBar支持box model。:top、:left、:right和:bottom伪状态取决于工具栏在分组时所在的区域。:first、:last、:middle和:only-one伪状态指示工具栏在一个行组中的位置。参考QStyleOptionToolBar::positionWithinLine。分隔条使用::separator子控件样式化。操作柄(用于移动工具栏)使用::handle子控件样式化。

QToolButton

控件如何定义样式
QToolButton支持box model。对于带有菜单的QToolButton,::menu-indicator子控件用来定义菜单指示器的样式。默认情况下,menu-indicator位于QToolButton填充矩形右下角。如果QToolButton处于QToolButton::MenuButtonPopup模式,::menu-button子控件用于绘制菜单按钮。::menu-arrow子控件用于在menu-button中绘制菜单箭头。默认情况下,其位于menu-button内容矩形的中心。当QToolButton显示箭头时,将使用::up-arrow、::down-arrow、::left-arrow和::right-arrow。警告:如果只在QToolButton设置background-color,除非将border属性设置为某个值,否则背景可能不会出现。这是因为在默认情况下,QToolButton绘制了一个与背景完全重叠的原生边框。

QToolBox

控件如何定义样式
QToolBox支持box model。单个选项卡使用::tab定义样式。选项卡支持:only-one、:first、:last、:middle、:previous-selected、:next-selected和:selected伪状态。

QToolTip

控件如何定义样式
QToolTip支持box model。opacity属性控制QToolTip的透明度。

QTreeView

控件如何定义样式
QTreeView支持box model。当启用交替行颜色时,交替色可以使用alternate-background-color属性设置。选中项的颜色和背景分别使用selection-color和selection-background-color设置。选中行为由show-decoration-selected属性控制。可以使用::branch子控件对QTreeView的分支样式化。::branch支持:open、:closed、:has-sibling和:has-children伪状态。使用::item可以对QTreeView的项进行更细度的控制。参考QAbstractScrollArea定义滚动背景。

QTreeWidget

控件如何定义样式
QTreeWidget参考QTreeView。

QWidget

控件如何定义样式
QWidget只支持background、background-clip和background-origin属性。如果继承QWidget,需要为自定义的QWidget提供一个paintEvent。警告:确保为自定义QWidget定义了Q_OBJECT宏。

参考

参考Qt助手,如有错误,请指正,谢谢!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值