Qt入门系列开发教程QSSqss样式

Posted 鱼酱2333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt入门系列开发教程QSSqss样式相关的知识,希望对你有一定的参考价值。

可设置样式的widget列表

控件样式
QAbstractScrollArea支持盒模型。QAbstractScrollArea的所有衍生产品,包括QTextEdit和QAbstractItemView(所有项目视图类),都支持使用背景附件的可滚动背景。将“背景附件”设置为“固定”将提供不随视口滚动的背景图像。将背景附件设置为滚动,滚动条移动时滚动背景图像。
有关示例,请参见自定义QAbstractScrollArea。
QCheckBox支持盒模型 可以使用 ::indicator子控件设置检查指示器的样式。默认情况下,指示器位于小部件内容矩形的左上角。spacing属性指定检查指示器和文本之间的间距
有关示例,请参见定制QCheckBox。
QColumnView可以使用image属性设置夹点的样式。可以使用::left arrow子控件和::right arrow子控件设置箭头指示器的样式。
QComboBox组合框周围的框架可以使用框模型设置样式。可以使用::下拉子控件设置下拉按钮的样式。默认情况下,下拉按钮位于小部件填充矩形的右上角。下拉按钮内的箭头标记可以使用::down arrow子控件设置样式。默认情况下,箭头位于下拉子控件的内容矩形的中心。有关示例,请参见定制QComboBox。
QDateEdit看 QSpinBox.
QDateTimeEdit看 QSpinBox.
QDialog仅支持背景、背景剪辑和背景原点属性
警告:确保为自定义小部件定义Q_对象宏。
QDialogButtonBox可以使用“按钮布局”属性更改按钮的布局。
QDockWidget支持固定标题栏和标题栏按钮的样式。dock窗口小部件边框可以使用border属性设置样式。::title子控件可用于自定义标题栏。close和float按钮分别使用::close按钮和::float按钮相对于::title子控件定位。当标题栏垂直时,将设置:vertical伪类。此外,根据QDockWidget::DockWidgetFeature,可以设置:closable、:floatable和:movable伪状态。
QDoubleSpinBox看 QSpinBox.
QFrame支持盒模型从4.3开始,在QLabel上设置样式表会自动将QFrame::frameStyle属性设置为QFrame::StyledPanel
有关示例,请参见定制QFrame。
QGroupBox支持盒模型 可以使用::title子控件设置标题的样式。默认情况下,标题的位置取决于QGroupBox::textAlignment。如果是可检查的QGroupBox,则标题包含复选标记。该指示器使用::indicator子控件设置样式。spacing属性可用于控制文本和指示器之间的间距
有关示例,请参见定制QGroupBox。
QHeaderView支持盒模型 header视图的部分使用::section子控件设置样式。section子控件支持:middle、:first、:last、:only one、:next selected、:previous selected、:selected和:checked伪状态。可以使用::向上箭头和::向下箭头子控件设置排序指示器的样式
有关示例,请参见定制QHeaderView。
QLabel支持盒模型 不支持:悬停伪状态。从4.3开始,在QLabel上设置样式表会自动将QFrame::frameStyle属性设置为QFrame::StyledPanel
有关示例,请参见定制QFrame(QLabel源自QFrame)。
QLineEdit支持盒子模型。所选项目的颜色和背景分别使用“选择颜色”和“选择背景颜色”设置样式
可以使用lineedit password character属性设置密码字符的样式
可以使用lineedit密码掩码延迟更改密码掩码延迟
有关示例,请参见定制QLineEdit。
QListView支持盒子模型。启用“交替行颜色”时,可以使用“交替背景颜色”属性设置交替颜色的样式。所选项目的颜色和背景分别使用“选择颜色”和“选择背景颜色”设置样式
选择行为由“显示装饰选定”属性控制
使用::item subcrol对QListView中的项进行更细粒度的控制
请参见QabStrackScrollArea以设置可滚动背景的样式
有关示例,请参见定制QListView。
QListWidget看 QListView.
QMainWindowQMainWindow支持分隔符的样式使用QDockWidget时,QMainWindow中的分隔符是使用::separator子控件进行样式设置的
有关示例,请参见定制QMainWindow。
QMenu支持盒模型单个项使用::item子控件设置样式。除了通常支持的伪状态外,item Subcrol还支持:selected、:default、:exclusive和非exclusive伪状态
可检查菜单项的指示器使用::indicator子控件进行样式设置
使用::separator子控件设置分隔符的样式
对于带有子菜单的项目,使用右箭头和左箭头设置箭头标记的样式
滚动条的样式是使用::scroller
撕下的部分使用::tearoff设置样式
有关示例,请参见定制QMenu。
QMenuBar支持盒模型 spacing属性指定菜单项之间的间距。单个项使用::item子控件设置样式
警告:在Qt/Mac上运行时,菜单栏通常嵌入到系统范围的菜单栏中。在这种情况下,样式表将无效。有关示例,请参见定制QMenuBar。
QMessageBoxmessagebox文本交互标志属性可用于更改与消息框中文本的交互
QProgressBar支持盒模型 进度条的块可以使用::chunk子控件设置样式。区块显示在小部件的内容矩形上。如果进度条显示文本,请使用“文本对齐”属性定位文本
不确定进度条设置了:不确定伪状态
有关示例,请参见定制QProgressBar。
QPushButton支持盒模型 支持:默认、:平坦、:选中的伪状态。从5.15开始,可以将icon属性设置为覆盖按钮图标
对于带有菜单的QPushButton,菜单指示器使用::menu indicator subcrol设置样式。可检查按钮的外观可以使用:打开和:关闭伪状态进行定制。警告:如果只在QPushButton上设置背景色,则除非将border属性设置为某个值,否则背景可能不会显示。这是因为,默认情况下,QPushButton绘制的本机边框与背景色完全重叠。例如,QPushButton背景色:红色;边框:无;有关示例,请参见定制QPushButton。
QRadioButton支持盒模型 可以使用::indicator子控件设置检查指示器的样式。默认情况下,指示器位于小部件内容矩形的左上角。spacing属性指定检查指示器和文本之间的间距
有关示例,请参见定制QRadioButton。
QScrollBar支持盒模型 可以使用::indicator子控件设置检查指示器的样式。默认情况下,指示器位于小部件内容矩形的左上角。spacing属性指定检查指示器和文本之间的间距
有关示例,请参见定制QRadioButton。
QSizeGrip支持宽度、高度和图像属性。有关示例,请参见定制QSizeGrip。
QSlider支持盒模型 对于水平幻灯片,必须提供最小宽度和高度属性。对于垂直滑块,必须提供最小高度和宽度属性。滑块的凹槽使用::groove设置样式。默认情况下,groove位于小部件的内容矩形中。滑块的拇指使用::handle subcrol设置样式。子控件在groove子控件的内容矩形中移动
有关示例,请参见定制QSlider。
QSpinBox旋转框的框架可以使用框模型进行样式设置。向上按钮和箭头可以使用::向上按钮和::向上箭头子控件设置样式。默认情况下,向上按钮位于小部件填充矩形的右上角。如果没有明确的大小,它将占据其参考矩形高度的一半。向上箭头位于向上按钮内容矩形的中心
可以使用::down button和::down arrow子控件设置向下按钮和箭头的样式。默认情况下,向下按钮位于小部件填充矩形的右下角。如果没有明确的大小,它将占据其参考矩形高度的一半。底部箭头位于底部按钮内容矩形的中心
有关示例,请参见定制QSpinBox。
QSplitter支持盒模型 拆分器的句柄是使用::handle子控件设计的。有关示例,请参见定制QSplitter。
QStatusBar仅支持背景属性。单个项目的框架可以使用::item subcrol设置样式。有关示例,请参见定制QStatusBar。
QTabBarQTabBar单个选项卡可以使用::tab subcrol设置样式。关闭按钮使用::关闭按钮选项卡支持:仅一个、:第一个、:最后一个、:中间、:上一个–selected、:下一个selected、:selected伪状态。:top、:left、:right、:bottom伪状态取决于选项卡的方向
所选状态的重叠选项卡是通过使用负边距或绝对位置方案创建的
QTabBar的撕裂指示器使用::撕裂子控制进行样式设置
qtabar为其滚动条使用了两个QToolButton,可以使用qtabar QToolButton选择器设置样式。要指定滚动按钮的宽度,请使用::scroller子控件
QTabBar中选项卡的对齐方式是使用“对齐”属性设置的
要更改QTabWidget中QTABAR的位置,请使用选项卡栏Subcrol(并设置Subcrol位置)
有关示例,请参见定制QTabar。
QTabWidgettab小部件的框架使用::pane子控件设置样式。左右角分别使用::left corner和::right corner设置样式。使用::tab bar子控件控制选项卡栏的位置。默认情况下,子控件在QWindowsStyle中具有QTabWidget的位置。要将QTabBar置于中心,请设置选项卡栏Subcrol的Subcrol位置
根据选项卡的方向,:top、:left、:right、:bottom伪状态
有关示例,请参见定制QTabWidget。
QTableViewQTableView支持盒模型 启用“交替行颜色”时,可以使用“交替背景颜色”属性设置交替颜色的样式。所选项目的颜色和背景分别使用“选择颜色”和“选择背景颜色”设置样式
QTableView中的corner小部件作为QabStretchButton实现,可以使用“QTableView QTableCornerButton::section”选择器设置样式。警告:如果仅在QTableCornerButton上设置背景色,则除非将border属性设置为某个值,否则背景可能不会显示。这是因为,默认情况下,QTableCornerButton绘制的本机边框与背景色完全重叠。可以使用gridline color属性指定网格的颜色
请参见QabStrackScrollArea以设置可滚动背景的样式
有关示例,请参见定制QTableView。QTableWidget请参阅QTableView
QTextEdit支持盒模型所选文本的颜色和背景分别使用“选择颜色”和“选择背景颜色”设置样式
请参见QabStrackScrollArea以设置可滚动背景的样式。
QTimeEdit看 QSpinBox.
QToolBarQToolBar支持盒模型:top、:left、:right、:bottom伪状态取决于工具栏的分组区域
:first、:last、:middle、:仅有一个伪状态指示工具栏在线组中的位置(请参见QStyleOptionToolBar::positionWithinLine)
QToolBar的分隔符是使用::separator子控件设计的
手柄(用于移动工具栏)使用::handle子控件设置样式
有关示例,请参见定制QToolBar。
QToolButton支持盒模型如果QToolButton具有菜单,则可以使用is::menu indicator subcrol设置指示器的样式。默认情况下,菜单指示器位于小部件填充矩形的右下角
如果QToolButton处于QToolButton::MenuButtonPopup模式,则使用::menu button subcrol绘制菜单按钮:菜单箭头子控件用于在菜单按钮内绘制菜单箭头。默认情况下,它位于菜单按钮Subcrol的内容矩形的中心。当QTool按钮显示箭头时,将使用::向上箭头、::向下箭头、::向左箭头和::向右箭头子控件。警告:如果仅在QToolButton上设置背景色,则除非将border属性设置为某个值,否则不会显示背景。这是因为,默认情况下,QToolButton绘制的本机边框与背景色完全重叠。例如,QToolButton背景色:红色;边框:无;有关示例,请参见自定义QToolButton。QToolBox支持盒模型可以使用::tab subcrol设置各个选项卡的样式。这些选项卡支持:仅一个、:第一个、:最后一个、:中间、:上一个选定的、:下一个选定的、:选定的伪状态。
QToolTip支持盒模型 The opacity property controls the opacity of the tooltip.See Customizing QFrame for an example (a QToolTip is a QFrame).
QTreeView支持盒模型 启用“交替行颜色”时,可以使用“交替背景颜色”属性设置交替颜色的样式。所选项目的颜色和背景分别使用“选择颜色”和“选择背景颜色”设置样式
选择行为由“显示装饰选定”属性控制
树状视图的分支可以使用::branch子控件设置样式。::branch子控件支持:open、:closed、:has sibling和:has children伪状态
使用::item subcrol对QTreeView中的项进行更细粒度的控制
请参见QabStrackScrollArea以设置可滚动背景的样式
有关设置分支样式的示例,请参见定制QTreeView。
QTreeWidget看 QTreeView.
QWidget仅支持背景、背景剪辑和背景原点属性。如果您是QWidget的子类,则需要为自定义QWidget提供paintEvent。
void CustomWidget::paintEvent(QPaintEvent *)

QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);

以上是关于Qt入门系列开发教程QSSqss样式的主要内容,如果未能解决你的问题,请参考以下文章

Qt入门系列开发教程QSSqss的实例

Qt入门系列开发教程基础控件篇小部件(所有控件的基类QWidget)

Qt入门系列开发教程基础控件篇QLabel文本标签

Qt入门系列开发教程基础控件篇QLineEdit输入框

Qt入门系列开发教程STL篇QMultiHash多值散列表

Qt入门系列开发教程基础控件篇框架QFrame