PySide6.QtWidgets.QStyle¶
- class QStyle¶
QStyle类是一个抽象基类,封装了图形用户界面的外观和感觉。更多…继承自:
QCommonStyle,QProxyStyle概要¶
方法¶
def
__init__()def
name()def
proxy()
虚拟方法¶
def
drawControl()def
drawItemPixmap()def
drawItemText()def
drawPrimitive()def
itemPixmapRect()def
itemTextRect()def
layoutSpacing()def
pixelMetric()def
polish()def
standardIcon()def
standardPixmap()def
styleHint()def
subControlRect()def
subElementRect()def
unpolish()
静态函数¶
def
alignedRect()def
visualPos()def
visualRect()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
Qt 包含一组
QStyle子类,这些子类模拟了 Qt 支持的不同平台的风格(QWindowsStyle、QMacStyle 等)。默认情况下,这些风格被内置在 Qt GUI 模块中。风格也可以作为插件提供。Qt 的内置小部件使用
QStyle来执行几乎所有的绘制操作,确保它们看起来与等效的原生小部件完全一样。下图展示了九种不同样式的QComboBox。
主题:
设置样式¶
整个应用程序的样式可以使用
setStyle()函数来设置。也可以通过应用程序用户使用-style命令行选项来指定:./myapplication -style windows
如果没有指定样式,Qt 将为用户的平台或桌面环境选择最合适的样式。
样式也可以使用
setStyle()函数在单个小部件上设置。开发风格感知的自定义小部件¶
如果您正在开发自定义小部件,并希望它们在所有平台上看起来都很美观,您可以使用
QStyle函数来执行小部件绘制的部分,例如drawItemText()、drawItemPixmap()、drawPrimitive()、drawControl()和drawComplexControl()。大多数
QStyle绘制函数接受四个参数:一个枚举值,指定要绘制的图形元素
一个
QStyleOption指定如何以及在何处渲染该元素一个应该用于绘制元素的 QPainter
一个
QWidget,用于在其上进行绘图(可选)
例如,如果你想在你的小部件上绘制一个焦点矩形,你可以这样写:
def paintEvent(self, */): painter = QPainter(self) option = QStyleOptionFocusRect() option.initFrom(self) option.backgroundColor = palette().color(QPalette.Background) style().drawPrimitive(QStyle.PE_FrameFocusRect, option, painter, self)
QStyle从QStyleOption获取渲染图形元素所需的所有信息。小部件作为最后一个参数传递,以防样式需要它来执行特殊效果(例如 macOS 上的动画默认按钮),但这不是强制性的。实际上,您可以通过正确设置 QPainter 来使用QStyle在任何绘图设备上绘制,而不仅仅是在小部件上。QStyleOption有各种子类,用于绘制各种类型的图形元素。例如,PE_FrameFocusRect期望一个QStyleOptionFocusRect参数。为了确保绘图操作尽可能快,
QStyleOption及其子类具有公共数据成员。有关如何使用它的详细信息,请参阅QStyleOption类文档。为了方便,Qt 提供了
QStylePainter类,它结合了QStyle、QPainter 和QWidget。这使得编写painter = QStylePainter(self) ... painter.drawPrimitive(QStyle.PE_FrameFocusRect, option)
而不是
painter = QPainter(self) ... style().drawPrimitive(QStyle.PE_FrameFocusRect, option, painter, self)
创建自定义样式¶
您可以通过创建自定义样式为您的应用程序创建自定义外观。有两种方法可以创建自定义样式。在静态方法中,您可以选择现有的
QStyle类,子类化它,并重新实现虚函数以提供自定义行为,或者您从头开始创建整个QStyle类。在动态方法中,您在运行时修改系统样式的行为。静态方法如下所述。动态方法在QProxyStyle中描述。静态方法的第一步是从Qt提供的样式中选择一个,你将基于此构建自定义样式。你选择的
QStyle类将取决于哪个样式最接近你想要的样式。你可以使用的最通用的基类是QCommonStyle(而不是QStyle)。这是因为Qt要求其样式必须是QCommonStyle。根据您想要更改的基本样式的哪些部分,您必须重新实现用于绘制这些界面部分的函数。为了说明这一点,我们将修改由QWindowsStyle绘制的旋转框箭头的外观。箭头是由
drawPrimitive()函数绘制的基本元素,因此我们需要重新实现该函数。我们需要以下类声明:class CustomStyle(QProxyStyle): Q_OBJECT # public CustomStyle(QWidget widget) ~CustomStyle() {} def drawPrimitive(element, option,): QPainter painter, QWidget widget) override
为了绘制其上下箭头,
QSpinBox使用了PE_IndicatorSpinUp和PE_IndicatorSpinDown基本元素。以下是如何重新实现drawPrimitive()函数以不同方式绘制它们:def drawPrimitive(self, element, option,): QPainter painter, QWidget widget) if element == PE_IndicatorSpinUp or element == PE_IndicatorSpinDown: points = QPolygon(3) x = option.rect.x() y = option.rect.y() w = option.rect.width() / 2 h = option.rect.height() / 2 x += (option.rect.width() - w) / 2 y += (option.rect.height() - h) / 2 if element == PE_IndicatorSpinUp: points[0] = QPoint(x, y + h) points[1] = QPoint(x + w, y + h) points[2] = QPoint(x + w / 2, y) else: // PE_SpinBoxDown points[0] = QPoint(x, y) points[1] = QPoint(x + w, y) points[2] = QPoint(x + w / 2, y + h) if option.state State_Enabled: painter.setPen(option.palette.mid().color()) painter.setBrush(option.palette.buttonText()) else: painter.setPen(option.palette.buttonText().color()) painter.setBrush(option.palette.mid()) painter.drawPolygon(points) else: QProxyStyle.drawPrimitive(element, option, painter, widget)
请注意,我们除了将其传递给QWindowStyle::drawPrimitive()函数外,不使用
widget参数。如前所述,关于要绘制什么以及如何绘制的信息由QStyleOption对象指定,因此无需询问小部件。如果你需要使用
widget参数来获取额外信息,请在使用前确保它不是0并且类型正确。例如:spinBox = QSpinBox(widget) if spinBox: ...
在实现自定义样式时,不能仅仅因为枚举值被称为
PE_IndicatorSpinUp或PE_IndicatorSpinDown就假设该小部件是QSpinBox。警告
目前不支持为自定义的
QStyle子类使用Qt样式表。我们计划在未来的某个版本中解决这个问题。使用自定义样式¶
在Qt应用程序中使用自定义样式有几种方法。最简单的方法是在创建
QApplication对象之前将自定义样式传递给setStyle()静态函数:from PySide6 import QtWidgets from customstyle import * if __name__ == "__main__": QApplication.setStyle(CustomStyle()) app = QApplication([]) spinBox = QSpinBox() spinBox.show() sys.exit(app.exec())
你可以随时调用
setStyle(),但在构造函数之前调用它,可以确保用户通过-style命令行选项设置的偏好得到尊重。您可能希望使您的自定义样式可用于其他应用程序,这些应用程序可能不是您的,因此无法重新编译。Qt 插件系统使得可以将样式创建为插件。作为插件创建的样式在运行时由 Qt 本身加载为共享对象。有关如何创建样式插件的更多信息,请参阅 Qt 插件文档。
编译你的插件并将其放入Qt的
plugins/styles目录中。我们现在有了一个可插拔的样式,Qt可以自动加载。要在现有应用程序中使用你的新样式,只需使用以下参数启动应用程序:./myapplication -style custom
应用程序将使用您实现的自定义样式的外观和感觉。
从右到左的桌面¶
从右到左书写的语言(如阿拉伯语和希伯来语)通常也会镜像整个小部件的布局,并要求光线从屏幕的右上角而不是左上角照射。
如果您创建自定义样式,在绘制不对称元素时应特别注意,以确保它们在镜像布局中也能正确显示。测试样式的一个简单方法是使用
-reverse命令行选项运行应用程序,或在main()函数中调用QApplication::setLayoutDirection()。在使样式在从右到左的环境中良好工作时,需要注意以下几点:
subControlRect()和subElementRect()返回屏幕坐标中的矩形QStyleOption::direction 指示项目应该绘制的方向
如果样式不支持从右到左显示,它将像从左到右一样显示项目
visualRect()、visualPos()和visualAlignment()是有用的函数,它们将从逻辑表示转换为屏幕表示。alignedRect()将返回一个根据当前方向对齐的逻辑矩形
项目视图中的样式¶
视图中的项目绘制由委托执行。Qt的默认委托
QStyledItemDelegate也用于计算项目的边界矩形及其子元素的各种项目数据角色QStyledItemDelegate支持。请参阅QStyledItemDelegate类描述以了解支持的数据类型和角色。您可以在Model/View Programming中阅读更多关于项目数据角色的信息。当
QStyledItemDelegate绘制其项目时,它会绘制CE_ItemViewItem,并使用CT_ItemViewItem计算它们的大小。还要注意,它使用SE_ItemViewItemText来设置编辑器的大小。在实现自定义项目视图绘制的样式时,您需要检查QCommonStyle(以及您的样式继承的任何其他子类)的实现。这样,您可以了解其他样式元素的绘制方式和内容,然后可以重新实现应该以不同方式绘制的元素的绘制。我们包含了一个小例子,其中我们自定义了项目背景的绘制。
case (PE_PanelItemViewItem): { painter.save() topLeft = option.rect.topLeft() bottomRight = option.rect.topRight() backgroundGradient = QLinearGradient(topLeft, bottomRight) backgroundGradient.setColorAt(0.0, QColor(Qt.yellow).lighter(190)) backgroundGradient.setColorAt(1.0, Qt.white) painter.fillRect(option.rect, QBrush(backgroundGradient)) painter.restore() break else: QProxyStyle.drawPrimitive(element, option, painter, widget)
原始元素
PE_PanelItemViewItem负责绘制项目的背景,并从QCommonStyle的CE_ItemViewItem实现中调用。为了添加对新数据类型和项目数据角色的绘制支持,有必要创建一个自定义委托。但如果你只需要支持默认委托实现的数据类型,自定义样式不需要伴随委托。
QStyledItemDelegate类描述提供了关于自定义委托的更多信息。项目视图标题的绘制也由样式完成,可以控制标题项的大小以及行和列的大小。
- class StateFlag¶
(继承自
enum.Flag) 此枚举描述了在绘制基本元素时使用的标志。请注意,并非所有原语都使用所有这些标志,并且这些标志对于不同的项目可能意味着不同的事情。
常量
描述
QStyle.State_None
表示该部件没有状态。
QStyle.State_Active
表示该部件是活动的。
QStyle.State_AutoRaise
用于指示是否应在工具按钮上使用自动提升外观。
QStyle.State_Children
用于指示项目视图分支是否有子项。
QStyle.State_DownArrow
用于指示是否应在小部件上显示向下箭头。
QStyle.State_Editing
用于指示是否在部件上打开了编辑器。
QStyle.State_Enabled
用于指示小部件是否启用。
QStyle.State_HasEditFocus
用于指示小部件当前是否具有编辑焦点。
QStyle.State_HasFocus
用于指示小部件是否具有焦点。
QStyle.State_Horizontal
用于指示小部件是否水平布局,例如工具栏。
QStyle.State_KeyboardFocusChange
用于指示焦点是否通过键盘更改,例如,tab、backtab 或快捷键。
QStyle.State_MouseOver
用于指示小部件是否在鼠标下方。
QStyle.State_NoChange
用于表示三态复选框。
QStyle.State_Off
用于指示小部件是否未选中。
QStyle.State_On
用于指示小部件是否被选中。
QStyle.State_Raised
用于指示按钮是否被抬起。
QStyle.State_ReadOnly
用于指示小部件是否为只读。
QStyle.State_Selected
用于指示小部件是否被选中。
QStyle.State_Item
用于项目视图,指示是否应绘制水平分支。
QStyle.State_Open
用于项目视图以指示树分支是否打开。
QStyle.State_Sibling
用于项目视图以指示是否需要绘制垂直线(用于兄弟节点)。
QStyle.State_Sunken
用于指示小部件是否凹陷或按下。
QStyle.State_UpArrow
用于指示是否应在小部件上显示向上箭头。
QStyle.State_Mini
用于指示一个迷你风格的Mac小部件或按钮。
QStyle.State_Small
用于指示一个小型的Mac部件或按钮样式。
另请参阅
- class PrimitiveElement¶
(继承自
enum.IntEnum) 此枚举描述了各种基本元素。基本元素是常见的GUI元素,例如复选框指示器或按钮斜面。常量
描述
QStyle.PE_PanelButtonCommand
用于启动操作的按钮,例如,
QPushButton。QStyle.PE_FrameDefaultButton
这是默认按钮周围的框架,例如在对话框中。
QStyle.PE_PanelButtonBevel
带有按钮斜角的通用面板。
QStyle.PE_PanelButtonTool
工具按钮的面板,与
QToolButton一起使用。QStyle.PE_PanelLineEdit
QLineEdit的面板。QStyle.PE_IndicatorButtonDropDown
下拉按钮的指示器,例如,显示菜单的工具按钮。
QStyle.PE_FrameFocusRect
通用焦点指示器。
QStyle.PE_IndicatorArrowUp
通用向上箭头。
QStyle.PE_IndicatorArrowDown
通用向下箭头。
QStyle.PE_IndicatorArrowRight
通用右箭头。
QStyle.PE_IndicatorArrowLeft
通用左箭头。
QStyle.PE_IndicatorSpinUp
用于微调小部件的向上符号,例如
QSpinBox。QStyle.PE_IndicatorSpinDown
微调小部件的向下符号。
QStyle.PE_IndicatorSpinPlus
旋转小部件的增加符号。
QStyle.PE_IndicatorSpinMinus
微调小部件的减少符号。
QStyle.PE_IndicatorItemViewItemCheck
视图项目的开关指示器。
QStyle.PE_IndicatorCheckBox
开关指示器,例如,一个
QCheckBox。QStyle.PE_IndicatorRadioButton
独占的开关指示器,例如,一个
QRadioButton。QStyle.PE_IndicatorDockWidgetResizeHandle
用于停靠窗口的调整大小手柄。
QStyle.PE_Frame
通用框架
QStyle.PE_FrameMenu
弹出窗口/菜单的框架;另见
QMenu。QStyle.PE_PanelMenuBar
菜单栏的面板。
QStyle.PE_PanelScrollAreaCorner
滚动区域右下角(或左下角)的面板。
QStyle.PE_FrameDockWidget
用于停靠窗口和工具栏的面板框架。
QStyle.PE_FrameTabWidget
标签小部件的框架。
QStyle.PE_FrameLineEdit
用于行编辑的面板框架。
QStyle.PE_FrameGroupBox
围绕分组框的面板框架。
QStyle.PE_FrameButtonBevel
按钮斜角的面板框架。
QStyle.PE_FrameButtonTool
工具按钮的面板框架。
QStyle.PE_IndicatorHeaderArrow
用于指示列表或表头排序的箭头。
QStyle.PE_FrameStatusBarItem
状态栏项目的框架;另请参阅
QStatusBar。QStyle.PE_FrameWindow
MDI窗口或停靠窗口周围的框架。
QStyle.PE_IndicatorMenuCheckMark
菜单中使用的勾选标记。
QStyle.PE_IndicatorProgressChunk
进度条指示器的一部分;另请参阅
QProgressBar。QStyle.PE_IndicatorBranch
用于表示树视图中树的分支的线条。
QStyle.PE_IndicatorToolBarHandle
工具栏的句柄。
QStyle.PE_IndicatorToolBarSeparator
工具栏中的分隔符。
QStyle.PE_PanelToolBar
工具栏的面板。
QStyle.PE_PanelTipLabel
提示标签的面板。
QStyle.PE_FrameTabBarBase
为标签栏绘制的框架,通常用于不属于标签小部件的标签栏。
QStyle.PE_IndicatorTabTear
已弃用。请改用 PE_IndicatorTabTearLeft。
QStyle.PE_IndicatorTabTearLeft
一个指示器,当有多个标签时,表示标签在可见标签栏的左侧部分滚动出去。
QStyle.PE_IndicatorTabTearRight
一个指示器,当有许多标签时,表示标签在可见标签栏的右侧部分滚动出去。
QStyle.PE_IndicatorColumnViewArrow
QColumnView中的箭头。QStyle.PE_Widget
一个普通的
QWidget。QStyle.PE_CustomBase
自定义基本元素的基础值。所有高于此值的值都保留供自定义使用。自定义值必须大于此值。
QStyle.PE_IndicatorItemViewItemDrop
一个指示器,用于在项目视图中的拖放操作期间显示项目即将被放置的位置。
QStyle.PE_PanelItemViewItem
项目视图中项目的背景。
QStyle.PE_PanelItemViewRow
项目视图中一行的背景。
QStyle.PE_PanelStatusBar
状态栏的面板。
QStyle.PE_IndicatorTabClose
标签栏上的关闭按钮。
QStyle.PE_PanelMenu
菜单的面板。
另请参阅
- class ControlElement¶
(继承自
enum.IntEnum) 这个枚举表示一个控制元素。控制元素是部件的一部分,用于执行某些操作或向用户显示信息。常量
描述
QStyle.CE_PushButton
一个
QPushButton,绘制 CE_PushButtonBevel、CE_PushButtonLabel 和PE_FrameFocusRect。QStyle.CE_PushButtonBevel
QPushButton的斜面和默认指示器。QStyle.CE_PushButtonLabel
标签(带有文本或图标的图标)的
QPushButton。QStyle.CE_DockWidgetTitle
停靠窗口标题。
QStyle.CE_Splitter
分割条手柄;另请参阅
QSplitter。QStyle.CE_CheckBox
一个
QCheckBox,绘制一个PE_IndicatorCheckBox,一个 CE_CheckBoxLabel 和一个PE_FrameFocusRect。QStyle.CE_CheckBoxLabel
QCheckBox的标签(文本或图片)。QStyle.CE_RadioButton
一个
QRadioButton,绘制一个PE_IndicatorRadioButton,一个 CE_RadioButtonLabel 和一个PE_FrameFocusRect。QStyle.CE_RadioButtonLabel
QRadioButton的标签(文本或图片)。QStyle.CE_TabBarTab
QTabBar中的标签和标签文本。QStyle.CE_TabBarTabShape
标签栏中的标签形状。
QStyle.CE_TabBarTabLabel
标签内的文本。
QStyle.CE_ProgressBar
一个
QProgressBar,绘制 CE_ProgressBarGroove、CE_ProgressBarContents 和 CE_ProgressBarLabel。QStyle.CE_ProgressBarGroove
在
QProgressBar中绘制进度指示器的凹槽。QStyle.CE_ProgressBarContents
QProgressBar的进度指示器。QStyle.CE_ProgressBarLabel
QProgressBar的文本标签。QStyle.CE_ToolButtonLabel
工具按钮的标签。
QStyle.CE_MenuBarItem
QMenuBar中的一个菜单项。QStyle.CE_MenuBarEmptyArea
QMenuBar的空白区域。QStyle.CE_MenuItem
QMenu中的一个菜单项。QStyle.CE_MenuScroller
当样式支持滚动时,
QMenu中的滚动区域。QStyle.CE_MenuTearoff
表示
QMenu的可撕下部分的菜单项。QStyle.CE_MenuEmptyArea
菜单中没有菜单项的区域。
QStyle.CE_MenuHMargin
菜单左右两侧的水平额外空间。
QStyle.CE_MenuVMargin
菜单顶部/底部的垂直额外空间。
QStyle.CE_ToolBoxTab
工具箱的标签和标签在
QToolBox内。QStyle.CE_SizeGrip
窗口调整大小手柄;另请参阅
QSizeGrip。QStyle.CE_Header
一个标题。
QStyle.CE_HeaderSection
一个标题部分。
QStyle.CE_HeaderLabel
标题的标签。
QStyle.CE_ScrollBarAddLine
滚动条行增加指示器。(即向下滚动);另请参阅
QScrollBar。QStyle.CE_ScrollBarSubLine
滚动条减少行指示器(即向上滚动)。
QStyle.CE_ScrollBarAddPage
滚动条页面增加指示器(即,向下翻页)。
QStyle.CE_ScrollBarSubPage
滚动条页面减少指示器(即,向上翻页)。
QStyle.CE_ScrollBarSlider
滚动条滑块。
QStyle.CE_ScrollBarFirst
滚动条第一行指示器(即首页)。
QStyle.CE_ScrollBarLast
滚动条最后一行指示器(即,结束)。
QStyle.CE_RubberBand
例如在图标视图中使用的橡皮筋。
QStyle.CE_FocusFrame
由样式控制的焦点框。
QStyle.CE_ItemViewItem
项目视图中的一个项目。
QStyle.CE_CustomBase
自定义控件元素的基值;自定义值必须大于此值。
QStyle.CE_ComboBoxLabel
不可编辑的
QComboBox的标签。QStyle.CE_ToolBar
一个类似于
QToolBar的工具栏。QStyle.CE_ToolBoxTabShape
工具箱的标签形状。
QStyle.CE_ToolBoxTabLabel
工具箱的标签页标签。
QStyle.CE_HeaderEmptyArea
标题视图中没有标题部分的区域。
QStyle.CE_ShapedFrame
具有在
QStyleOptionFrame中指定形状的框架;参见QFrame。另请参阅
- class SubElement¶
(继承自
enum.IntEnum) 此枚举表示小部件的一个子区域。样式实现使用这些区域来绘制小部件的不同部分。常量
描述
QStyle.SE_PushButtonContents
包含标签的区域(带有文本或位图的图标)。
QStyle.SE_PushButtonFocusRect
焦点矩形的区域(通常大于内容矩形)。
QStyle.SE_PushButtonLayoutItem
计入父布局的区域。
QStyle.SE_PushButtonBevel
[自 5.15 起] 用于按钮斜角的区域。
QStyle.SE_CheckBoxIndicator
状态指示器的区域(例如,勾选框)。
QStyle.SE_CheckBoxContents
标签(文本或图片)的区域。
QStyle.SE_CheckBoxFocusRect
焦点指示器的区域。
QStyle.SE_CheckBoxClickRect
可点击区域,默认为 SE_CheckBoxFocusRect。
QStyle.SE_CheckBoxLayoutItem
计入父布局的区域。
QStyle.SE_DateTimeEditLayoutItem
计入父布局的区域。
QStyle.SE_RadioButtonIndicator
状态指示器的区域。
QStyle.SE_RadioButtonContents
标签的区域。
QStyle.SE_RadioButtonFocusRect
焦点指示器的区域。
QStyle.SE_RadioButtonClickRect
可点击区域,默认为 SE_RadioButtonFocusRect。
QStyle.SE_RadioButtonLayoutItem
计入父布局的区域。
QStyle.SE_ComboBoxFocusRect
焦点指示器的区域。
QStyle.SE_SliderFocusRect
焦点指示器的区域。
QStyle.SE_SliderLayoutItem
计入父布局的区域。
QStyle.SE_SpinBoxLayoutItem
计入父布局的区域。
QStyle.SE_ProgressBarGroove
凹槽的区域。
QStyle.SE_ProgressBarContents
进度指示器的区域。
QStyle.SE_ProgressBarLabel
文本标签的区域。
QStyle.SE_ProgressBarLayoutItem
计入父布局的区域。
QStyle.SE_FrameContents
框架内容的区域。
QStyle.SE_ShapedFrameContents
使用
QStyleOptionFrame中的形状为框架内容区域;参见QFrameQStyle.SE_FrameLayoutItem
计入父布局的区域。
QStyle.SE_HeaderArrow
标题排序指示器的区域。
QStyle.SE_HeaderLabel
标题中标签的区域。
QStyle.SE_LabelLayoutItem
计入父布局的区域。
QStyle.SE_LineEditContents
用于行编辑内容的区域。
QStyle.SE_TabWidgetLeftCorner
选项卡小部件中左侧角落小部件的区域。
QStyle.SE_TabWidgetRightCorner
选项卡小部件中右侧角落小部件的区域。
QStyle.SE_TabWidgetTabBar
选项卡小部件中的选项卡栏小部件的区域。
QStyle.SE_TabWidgetTabContents
选项卡小部件内容的区域。
QStyle.SE_TabWidgetTabPane
标签部件窗格的区域。
QStyle.SE_TabWidgetLayoutItem
计入父布局的区域。
QStyle.SE_ToolBoxTabContents
工具箱标签的图标和标签的区域。
QStyle.SE_ToolButtonLayoutItem
计入父布局的区域。
QStyle.SE_ItemViewItemCheckIndicator
视图项复选框的区域。
QStyle.SE_TabBarTearIndicator
已弃用。请改用 SE_TabBarTearIndicatorLeft。
QStyle.SE_TabBarTearIndicatorLeft
带有滚动箭头的标签栏左侧的撕裂指示器区域。
QStyle.SE_TabBarTearIndicatorRight
带有滚动箭头的标签栏右侧的撕裂指示器区域。
QStyle.SE_TabBarScrollLeftButton
带有滚动按钮的标签栏上向左滚动按钮的区域。
QStyle.SE_TabBarScrollRightButton
带有滚动按钮的标签栏上的滚动右按钮区域。
QStyle.SE_TreeViewDisclosureItem
树分支中实际展开项的区域。
QStyle.SE_GroupBoxLayoutItem
计入父布局的区域。
QStyle.SE_CustomBase
自定义子元素的基值。自定义值必须大于此值。
QStyle.SE_DockWidgetFloatButton
停靠小部件的浮动按钮。
QStyle.SE_DockWidgetTitleBarText
停靠窗口标题的文本边界。
QStyle.SE_DockWidgetCloseButton
停靠窗口小部件的关闭按钮。
QStyle.SE_DockWidgetIcon
停靠窗口小部件的图标。
QStyle.SE_ComboBoxLayoutItem
计入父布局的区域。
QStyle.SE_ItemViewItemDecoration
视图项装饰(图标)的区域。
QStyle.SE_ItemViewItemText
视图项文本的区域。
QStyle.SE_ItemViewItemFocusRect
视图项焦点矩形的区域。
QStyle.SE_TabBarTabLeftButton
标签栏中标签左侧小部件的区域。
QStyle.SE_TabBarTabRightButton
标签栏中标签右侧的小部件区域。
QStyle.SE_TabBarTabText
标签栏中标签上文本的区域。
QStyle.SE_ToolBarHandle
工具栏手柄的区域。
另请参阅
- class ComplexControl¶
(继承自
enum.IntEnum) 此枚举描述了可用的复杂控件。复杂控件的行为会根据用户点击的位置或按下的键而有所不同。常量
描述
QStyle.CC_SpinBox
一个微调框,类似于
QSpinBox。QStyle.CC_ComboBox
一个组合框,类似于
QComboBox。QStyle.CC_ScrollBar
一个滚动条,像
QScrollBar。QStyle.CC_Slider
一个滑块,如
QSlider。QStyle.CC_ToolButton
一个工具按钮,类似于
QToolButton。QStyle.CC_TitleBar
一个标题栏,类似于
QMdiSubWindow中使用的那些。QStyle.CC_GroupBox
一个组框,类似于
QGroupBox。QStyle.CC_Dial
一个拨号盘,类似于
QDial。QStyle.CC_MdiControls
最大化MDI子窗口菜单栏中的最小化、关闭和正常按钮。
QStyle.CC_CustomBase
自定义复杂控件的基值。自定义值必须大于此值。
- class SubControl¶
(继承自
enum.Flag) 此枚举描述了可用的子控件。子控件是复杂控件(ComplexControl)内的一个控件元素。常量
描述
QStyle.SC_None
特殊值,不匹配任何其他子控件。
QStyle.SC_ScrollBarAddLine
滚动条添加线(即,向下/向右箭头);另见
QScrollBar。QStyle.SC_ScrollBarSubLine
滚动条子线(即上/左箭头)。
QStyle.SC_ScrollBarAddPage
滚动条添加页面(即,向下翻页)。
QStyle.SC_ScrollBarSubPage
滚动条子页面(即向上翻页)。
QStyle.SC_ScrollBarFirst
滚动条的第一行(即首页)。
QStyle.SC_ScrollBarLast
滚动条最后一行(即,结束)。
QStyle.SC_ScrollBarSlider
滚动条滑块手柄。
QStyle.SC_ScrollBarGroove
特殊的子控件,包含滑块手柄可以移动的区域。
QStyle.SC_SpinBoxUp
旋转小部件向上/增加;另请参阅
QSpinBox。QStyle.SC_SpinBoxDown
旋转小部件向下/减少。
QStyle.SC_SpinBoxFrame
旋转小部件框架。
QStyle.SC_SpinBoxEditField
旋转小部件的编辑字段。
QStyle.SC_ComboBoxEditField
组合框编辑字段;另请参阅
QComboBox。QStyle.SC_ComboBoxArrow
组合框箭头按钮。
QStyle.SC_ComboBoxFrame
组合框框架。
QStyle.SC_ComboBoxListBoxPopup
组合框弹出窗口的参考矩形。用于计算弹出窗口的位置。
QStyle.SC_SliderGroove
特殊的子控件,包含滑块手柄可以移动的区域。
QStyle.SC_SliderHandle
滑块手柄。
QStyle.SC_SliderTickmarks
滑块刻度线。
QStyle.SC_ToolButton
工具按钮(另见
QToolButton)。QStyle.SC_ToolButtonMenu
用于在工具按钮中打开弹出菜单的子控件。
QStyle.SC_TitleBarSysMenu
系统菜单按钮(即恢复、关闭等)。
QStyle.SC_TitleBarMinButton
最小化按钮。
QStyle.SC_TitleBarMaxButton
最大化按钮。
QStyle.SC_TitleBarCloseButton
关闭按钮。
QStyle.SC_TitleBarLabel
窗口标题标签。
QStyle.SC_TitleBarNormalButton
正常(恢复)按钮。
QStyle.SC_TitleBarShadeButton
阴影按钮。
QStyle.SC_TitleBarUnshadeButton
取消阴影按钮。
QStyle.SC_TitleBarContextHelpButton
上下文帮助按钮。
QStyle.SC_DialHandle
刻度盘的手柄(即用于控制刻度盘的部分)。
QStyle.SC_DialGroove
用于拨号的凹槽。
QStyle.SC_DialTickmarks
刻度盘的刻度标记。
QStyle.SC_GroupBoxFrame
组框的框架。
QStyle.SC_GroupBoxLabel
组框的标题。
QStyle.SC_GroupBoxCheckBox
组框的可选复选框。
QStyle.SC_GroupBoxContents
组框内容。
QStyle.SC_MdiNormalButton
菜单栏中MDI子窗口的普通按钮。
QStyle.SC_MdiMinButton
菜单栏中MDI子窗口的最小化按钮。
QStyle.SC_MdiCloseButton
菜单栏中MDI子窗口的关闭按钮。
QStyle.SC_All
匹配所有子控件的特殊值。
另请参阅
- class PixelMetric¶
(继承自
enum.IntEnum) 此枚举描述了各种可用的像素度量。像素度量是由单个像素值表示的样式依赖的大小。常量
描述
QStyle.PM_ButtonMargin
按钮标签与边框之间的空白量。
QStyle.PM_DockWidgetTitleBarButtonMargin
停靠窗口标题栏按钮标签与框架之间的空白量。
QStyle.PM_ButtonDefaultIndicator
默认按钮指示器框架的宽度。
QStyle.PM_MenuButtonIndicator
菜单按钮指示器的宽度与控件高度成比例。
QStyle.PM_ButtonShiftHorizontal
按钮按下时按钮内容的水平偏移。
QStyle.PM_ButtonShiftVertical
按钮按下时按钮内容的垂直偏移。
QStyle.PM_DefaultFrameWidth
默认框架宽度(通常为2)。
QStyle.PM_SpinBoxFrameWidth
微调框的边框宽度,默认为 PM_DefaultFrameWidth。
QStyle.PM_ComboBoxFrameWidth
组合框的边框宽度,默认为 PM_DefaultFrameWidth。
QStyle.PM_MdiSubWindowFrameWidth
MDI窗口的框架宽度。
QStyle.PM_MdiSubWindowMinimizedWidth
最小化的MDI窗口的宽度。
QStyle.PM_LayoutLeftMargin
QStyle.PM_LayoutTopMargin
默认的
top margin用于QLayout。QStyle.PM_LayoutRightMargin
默认的
right margin用于QLayout。QStyle.PM_LayoutBottomMargin
QStyle.PM_LayoutHorizontalSpacing
QStyle.PM_LayoutVerticalSpacing
QStyle.PM_MaximumDragDistance
拖动时鼠标与滚动条之间的最大允许距离。超过指定距离将导致滑块跳回原始位置;值为-1时禁用此行为。
QStyle.PM_ScrollBarExtent
垂直滚动条的宽度和水平滚动条的高度。
QStyle.PM_ScrollBarSliderMin
垂直滚动条滑块的最小高度和水平滚动条滑块的最小宽度。
QStyle.PM_SliderThickness
滑块的总厚度。
QStyle.PM_SliderControlThickness
滑块手柄的厚度。
QStyle.PM_SliderLength
滑块的长度。
QStyle.PM_SliderTickmarkOffset
刻度标记和滑块之间的偏移量。
QStyle.PM_SliderSpaceAvailable
滑块可移动的可用空间。
QStyle.PM_DockWidgetSeparatorExtent
水平停靠窗口中分隔符的宽度和垂直停靠窗口中分隔符的高度。
QStyle.PM_DockWidgetHandleExtent
水平停靠窗口中手柄的宽度和垂直停靠窗口中手柄的高度。
QStyle.PM_DockWidgetFrameWidth
停靠窗口的边框宽度。
QStyle.PM_DockWidgetTitleMargin
停靠窗口标题的边距。
QStyle.PM_MenuBarPanelWidth
菜单栏的框架宽度,默认为 PM_DefaultFrameWidth。
QStyle.PM_MenuBarItemSpacing
菜单栏项之间的间距。
QStyle.PM_MenuBarHMargin
菜单栏项与栏的左右之间的间距。
QStyle.PM_MenuBarVMargin
菜单栏项与栏顶部/底部之间的间距。
QStyle.PM_ToolBarFrameWidth
工具栏周围框架的宽度。
QStyle.PM_ToolBarHandleExtent
水平工具栏中工具栏手柄的宽度和垂直工具栏中手柄的高度。
QStyle.PM_ToolBarItemMargin
工具栏框架和项目之间的间距。
QStyle.PM_ToolBarItemSpacing
工具栏项之间的间距。
QStyle.PM_ToolBarSeparatorExtent
水平工具栏中工具栏分隔符的宽度和垂直工具栏中分隔符的高度。
QStyle.PM_ToolBarExtensionExtent
水平工具栏中工具栏扩展按钮的宽度和垂直工具栏中按钮的高度。
QStyle.PM_TabBarTabOverlap
标签应重叠的像素数。(目前仅在样式中使用,不在
QTabBar内部使用)QStyle.PM_TabBarTabHSpace
添加到标签宽度的额外空间。
QStyle.PM_TabBarTabVSpace
添加到标签高度的额外空间。
QStyle.PM_TabBarBaseHeight
标签栏和标签页之间区域的高度。
QStyle.PM_TabBarBaseOverlap
标签栏与标签栏基础重叠的像素数。
QStyle.PM_TabBarScrollButtonWidth
QStyle.PM_TabBarTabShiftHorizontal
选择标签时的水平像素偏移。
QStyle.PM_TabBarTabShiftVertical
选择标签时的垂直像素偏移。
QStyle.PM_ProgressBarChunkWidth
进度条指示器中一个块的宽度。
QStyle.PM_SplitterWidth
分隔条的宽度。
QStyle.PM_TitleBarHeight
标题栏的高度。
QStyle.PM_IndicatorWidth
复选框指示器的宽度。
QStyle.PM_IndicatorHeight
复选框指示器的高度。
QStyle.PM_ExclusiveIndicatorWidth
单选按钮指示器的宽度。
QStyle.PM_ExclusiveIndicatorHeight
单选按钮指示器的高度。
QStyle.PM_MenuPanelWidth
边框宽度(应用于所有边)用于
QMenu。QStyle.PM_MenuHMargin
为
QMenu添加的额外边框(用于左右两侧)。QStyle.PM_MenuVMargin
为
QMenu添加的额外边框(用于底部和顶部)。QStyle.PM_MenuScrollerHeight
QMenu中滚动区域的高度。QStyle.PM_MenuTearoffHeight
QMenu中撕下区域的高度。QStyle.PM_MenuDesktopFrameWidth
桌面上菜单的边框宽度。
QStyle.PM_HeaderMarkSize
标题中排序指示器的大小。
QStyle.PM_HeaderGripMargin
标题中调整手柄的大小。
QStyle.PM_HeaderMargin
排序指示器和文本之间的边距大小。
QStyle.PM_SpinBoxSliderHeight
可选旋转框滑块的高度。
QStyle.PM_ToolBarIconSize
默认工具栏图标大小
QStyle.PM_SmallIconSize
默认小图标大小
QStyle.PM_LargeIconSize
默认大图标尺寸
QStyle.PM_FocusFrameHMargin
焦点框将小部件向外扩展的水平边距。
QStyle.PM_FocusFrameVMargin
焦点框将小部件向外扩展的垂直边距。
QStyle.PM_IconViewIconSize
图标视图中图标的默认大小。
QStyle.PM_ListViewIconSize
列表视图中图标的默认大小。
QStyle.PM_ToolTipLabelFrameWidth
工具提示标签的边框宽度。
QStyle.PM_CheckBoxLabelSpacing
复选框指示器与其标签之间的间距。
QStyle.PM_RadioButtonLabelSpacing
单选按钮指示器与其标签之间的间距。
QStyle.PM_TabBarIconSize
标签栏的默认图标大小。
QStyle.PM_SizeGripSize
大小手柄的尺寸。
QStyle.PM_MessageBoxIconSize
消息框中标准图标的大小
QStyle.PM_ButtonIconSize
按钮图标的默认大小
QStyle.PM_TextCursorWidth
行编辑或文本编辑中光标的宽度
QStyle.PM_TabBar_ScrollButtonOverlap
标签栏中左右按钮之间的距离。
QStyle.PM_TabCloseIndicatorWidth
标签栏中标签上关闭按钮的默认宽度。
QStyle.PM_TabCloseIndicatorHeight
标签栏中标签上关闭按钮的默认高度。
QStyle.PM_ScrollView_ScrollBarSpacing
当设置了
SH_ScrollView_FrameOnlyAroundContents时,框架和滚动条之间的距离。QStyle.PM_ScrollView_ScrollBarOverlap
滚动条与滚动内容之间的重叠
QStyle.PM_SubMenuOverlap
子菜单与其父菜单之间的水平重叠。
QStyle.PM_TreeViewIndentation
树视图中项目的缩进。
QStyle.PM_HeaderDefaultSectionSizeHorizontal
水平标题中部分的默认大小。此枚举值在Qt 5.5中引入。
QStyle.PM_HeaderDefaultSectionSizeVertical
垂直标题中部分的默认大小。此枚举值已在Qt 5.5中引入。
QStyle.PM_TitleBarButtonIconSize
标题栏上按钮图标的大小。
QStyle.PM_TitleBarButtonSize
标题栏上按钮的大小。
QStyle.PM_LineEditIconSize
行编辑中图标的默认大小。
QStyle.PM_LineEditIconMargin
行编辑中图标周围的边距。
QStyle.PM_CustomBase
自定义像素度量的基值。自定义值必须大于此值。
另请参阅
- class ContentsType¶
(继承自
enum.IntEnum) 此枚举描述了可用的内容类型。这些类型用于计算各种小部件内容的大小。常量
描述
QStyle.CT_CheckBox
一个复选框,如
QCheckBox。QStyle.CT_ComboBox
一个组合框,如
QComboBox。QStyle.CT_HeaderSection
一个标题部分,如QHeader。
QStyle.CT_LineEdit
一个行编辑框,如
QLineEdit。QStyle.CT_Menu
一个菜单,比如
QMenu。QStyle.CT_MenuBar
一个菜单栏,如
QMenuBar。QStyle.CT_MenuBarItem
一个菜单栏项目,类似于
QMenuBar中的按钮。QStyle.CT_MenuItem
一个菜单项,类似于 QMenuItem。
QStyle.CT_ProgressBar
一个进度条,如
QProgressBar。QStyle.CT_PushButton
一个按钮,如
QPushButton。QStyle.CT_RadioButton
一个单选按钮,如
QRadioButton。QStyle.CT_SizeGrip
一个大小调整手柄,如
QSizeGrip。QStyle.CT_Slider
一个滑块,如
QSlider。QStyle.CT_ScrollBar
一个滚动条,如
QScrollBar。QStyle.CT_SpinBox
一个旋转框,如
QSpinBox。QStyle.CT_Splitter
一个分割器,如
QSplitter。QStyle.CT_TabBarTab
标签栏上的一个标签,如
QTabBar。QStyle.CT_TabWidget
一个标签小部件,如
QTabWidget。QStyle.CT_ToolButton
一个工具按钮,类似于
QToolButton。QStyle.CT_GroupBox
一个组框,如
QGroupBox。QStyle.CT_ItemViewItem
项目视图中的一个项目。
QStyle.CT_CustomBase
自定义内容类型的基值。自定义值必须大于此值。
QStyle.CT_MdiControls
最大化MDI子窗口菜单栏中的最小化、正常化和关闭按钮。
另请参阅
- class RequestSoftwareInputPanel¶
此枚举描述了在什么情况下,能够输入的部件会请求软件输入面板。
常量
描述
QStyle.RSIP_OnMouseClickAndAlreadyFocused
如果用户点击小部件,则请求输入面板,但仅当它已经获得焦点时。
QStyle.RSIP_OnMouseClick
如果用户点击小部件,则请求输入面板。
另请参阅
在版本4.6中添加。
- class StyleHint¶
(继承自
enum.IntEnum) 此枚举描述了可用的样式提示。样式提示是一种通用的外观和/或感觉提示。常量
描述
QStyle.SH_EtchDisabledText
禁用文本像在Windows上一样“蚀刻”。
QStyle.SH_DitherDisabledText
禁用文本像在Motif上一样被抖动。
QStyle.SH_ScrollBar_ContextMenu
滚动条是否具有上下文菜单。
QStyle.SH_ScrollBar_MiddleClickAbsolutePosition
一个布尔值。如果为真,点击滚动条的中间会使滑块跳转到该位置。如果为假,点击中间将被忽略。
QStyle.SH_ScrollBar_LeftClickAbsolutePosition
一个布尔值。如果为真,左键点击滚动条会使滑块跳转到该位置。如果为假,左键点击将根据每个控件的行为进行相应的操作。
QStyle.SH_ScrollBar_ScrollWhenPointerLeavesControl
一个布尔值。如果为真,当点击滚动条的
SubControl时,按住鼠标按钮并将指针移动到SubControl之外,滚动条将继续滚动。如果为假,当指针离开SubControl时,滚动条将停止滚动。QStyle.SH_ScrollBar_RollBetweenButtons
一个布尔值。如果为真,当点击滚动条按钮(
SC_ScrollBarAddLine或SC_ScrollBarSubLine)并拖动到相反的按钮(滚动)时,将按下新按钮并释放旧按钮。当它为假时,原始按钮被释放,什么也不会发生(像一个按钮)。QStyle.SH_TabBar_Alignment
在
QTabWidget中标签的对齐方式。可能的值为Qt::AlignLeft、Qt::AlignCenter和Qt::AlignRight。QStyle.SH_Header_ArrowAlignment
排序指示器的位置可能出现在列表或表格头部。可能的值是Qt::Alignment值(即Qt::AlignmentFlag标志的OR组合)。
QStyle.SH_Slider_SnapToValue
滑块在移动时会捕捉到值,就像在Windows上一样。
QStyle.SH_Slider_SloppyKeyEvents
按键以松散的方式处理,例如,在垂直滑块上按下左键会减少一行。
QStyle.SH_ProgressDialog_CenterCancelButton
进度对话框上的按钮居中,否则右对齐。
QStyle.SH_ProgressDialog_TextLabelAlignment
进度对话框中文本标签的对齐方式;在Windows上为Qt::AlignCenter,其他情况下为Qt::AlignVCenter。
QStyle.SH_PrintDialog_RightAlignButtons
在打印对话框中右对齐按钮,如Windows上所做的那样。
QStyle.SH_MainWindow_SpaceBelowMenuBar
菜单栏和停靠区域之间的一到两个像素的间距,如Windows上的实现。
QStyle.SH_FontDialog_SelectAssociatedText
选择行编辑中的文本,或从列表框中选择项目时,或当行编辑获得焦点时,如在Windows上所做的那样。
QStyle.SH_Menu_KeyboardSearch
输入会导致菜单搜索相关项目,否则只考虑助记符。
QStyle.SH_Menu_AllowActiveAndDisabled
允许禁用的菜单项处于活动状态。
QStyle.SH_Menu_SpaceActivatesItem
按下空格键激活项目,如在Motif中所做的那样。
QStyle.SH_Menu_SubMenuPopupDelay
在打开子菜单之前等待的毫秒数(Windows上为256,Motif上为96)。
QStyle.SH_Menu_Scrollable
弹出菜单是否必须支持滚动。
QStyle.SH_Menu_SloppySubMenus
弹出菜单是否必须支持用户在移动到子菜单时跨越菜单的其他项。这在大多数现代桌面平台上都得到支持。
QStyle.SH_Menu_SubMenuUniDirection
自 Qt 5.5 起。如果光标必须朝向子菜单移动(如在 macOS 上),或者如果光标可以在任何方向移动,只要在超时前到达子菜单。
QStyle.SH_Menu_SubMenuUniDirectionFailCount
自 Qt 5.5 起。当定义了 SH_Menu_SubMenuUniDirection 时,此枚举定义了在丢弃松散子菜单之前失败的鼠标移动次数。这可以用于控制单向算法的“严格性”。
QStyle.SH_Menu_SubMenuSloppySelectOtherActions
自 Qt 5.5 起。当鼠标移向一个不精确的子菜单时,是否应选择其他操作项。
QStyle.SH_Menu_SubMenuSloppyCloseTimeout
自 Qt 5.5 起。用于关闭松散子菜单的超时时间。
QStyle.SH_Menu_SubMenuResetWhenReenteringParent
自 Qt 5.5 起。当从子菜单进入父菜单时,是否应重置松散状态,从而关闭子菜单并使当前子菜单处于活动状态。
QStyle.SH_Menu_SubMenuDontStartSloppyOnLeave
自 Qt 5.5 起。当鼠标离开子菜单时,不启动松散计时器。
QStyle.SH_ScrollView_FrameOnlyAroundContents
滚动视图是否仅在内容周围绘制框架(如Motif),还是在内容、滚动条和角落小部件周围绘制框架(如Windows)。
QStyle.SH_MenuBar_AltKeyNavigation
菜单栏项目可以通过按下Alt键,然后使用箭头键选择所需项目进行导航。
QStyle.SH_ComboBox_ListMouseTracking
组合框下拉列表中的鼠标跟踪。
QStyle.SH_Menu_MouseTracking
弹出菜单中的鼠标跟踪。
QStyle.SH_MenuBar_MouseTracking
菜单栏中的鼠标跟踪。
QStyle.SH_Menu_FillScreenWithScroll
滚动弹出窗口是否应在滚动时填满屏幕。
QStyle.SH_Menu_SelectionWrap
弹出菜单是否应允许选择项循环,即当选择到最后一项时,下一项应为第一项。
QStyle.SH_ItemView_ChangeHighlightOnFocus
失去焦点时使选中的项目变灰。
QStyle.SH_Widget_ShareActivation
开启与浮动无模式对话框的共享激活。
QStyle.SH_TabBar_SelectMouseType
哪种类型的鼠标事件应导致选项卡被选中。
QStyle.SH_ListViewExpand_SelectMouseType
哪种类型的鼠标事件应导致列表视图扩展被选中。
QStyle.SH_TabBar_PreferNoArrows
标签栏是否应建议一个大小以防止滚动箭头。
QStyle.SH_ComboBox_Popup
允许弹出窗口作为组合框的下拉菜单。
QStyle.SH_Workspace_FillSpaceOnMaximize
工作区应最大化客户区域。
QStyle.SH_TitleBar_NoBorder
标题栏没有边框。
QStyle.SH_Slider_StopMouseOverSlider
当滑块到达鼠标位置时停止自动重复。
QStyle.SH_BlinkCursorWhenTextSelected
当文本被选中时,光标是否应该闪烁。
QStyle.SH_RichText_FullWidthSelection
富文本选择是否应扩展到文档的整个宽度。
QStyle.SH_GroupBox_TextLabelVerticalAlignment
如何垂直对齐组框的文本标签。
QStyle.SH_GroupBox_TextLabelColor
如何绘制组框的文本标签。
QStyle.SH_DialogButtons_DefaultButton
对话框按钮部件中哪个按钮获得默认状态。
QStyle.SH_ToolBox_SelectedPageTitleBold
在
QToolBox中选定页面标题的粗体程度。QStyle.SH_LineEdit_PasswordCharacter
用于密码的Unicode字符。
QStyle.SH_LineEdit_PasswordMaskDelay
确定在可见字符被密码字符掩盖之前的延迟时间,以毫秒为单位。此枚举值在Qt 5.4中添加。
QStyle.SH_Table_GridLineColor
表格网格的RGBA值。
QStyle.SH_UnderlineShortcut
快捷键是否带下划线。
QStyle.SH_SpinBox_AnimateButton
在微调框中按下上或下时,动画显示点击效果。
QStyle.SH_SpinBox_KeyPressAutoRepeatRate
微调框按键的自动重复间隔。
QStyle.SH_SpinBox_ClickAutoRepeatRate
微调框鼠标点击的自动重复间隔。
QStyle.SH_SpinBox_ClickAutoRepeatThreshold
微调框鼠标点击的自动重复阈值。
QStyle.SH_SpinBox_SelectOnStep
是否在使用按钮或上下键更改值时自动选择文本。
QStyle.SH_ToolTipLabel_Opacity
一个整数,表示提示标签的不透明度,0表示完全透明,255表示完全不透明。
QStyle.SH_DrawMenuBarSeparator
指示菜单栏是否绘制分隔符。
QStyle.SH_TitleBar_ModifyNotification
指示标题栏是否应为已修改的窗口显示‘*’。
QStyle.SH_Button_FocusPolicy
按钮的默认焦点策略。
QStyle.SH_CustomBase
自定义样式提示的基值。自定义值必须大于此值。
QStyle.SH_MessageBox_UseBorderForButtonSpacing
一个布尔值,指示是否使用按钮的边框(计算为按钮高度的一半)作为消息框中按钮的间距。
QStyle.SH_MessageBox_CenterButtons
一个布尔值,指示消息框中的按钮是否应居中(参见 QDialogButtonBox::setCentered())。
QStyle.SH_MessageBox_TextInteractionFlags
一个布尔值,指示消息框中的文本是否应允许用户交互(例如选择)。
QStyle.SH_TitleBar_AutoRaise
一个布尔值,指示当鼠标悬停在标题栏上的控件时,这些控件是否应该更新。
QStyle.SH_ToolButton_PopupDelay
一个整数,表示与工具按钮关联的菜单的弹出延迟时间(以毫秒为单位)。
QStyle.SH_FocusFrame_Mask
焦点框架的遮罩。
QStyle.SH_RubberBand_Mask
橡皮筋的遮罩。
QStyle.SH_WindowFrame_Mask
窗口框架的遮罩。
QStyle.SH_SpinControls_DisableOnBounds
确定当达到旋转范围边界时,旋转控件是否显示为禁用状态。
QStyle.SH_Dial_BackgroundRole
定义拨号部件首选背景角色(作为 QPalette::ColorRole)。
QStyle.SH_ComboBox_LayoutDirection
组合框的布局方向。默认情况下,它应该与QStyleOption::direction变量指示的方向相同。
QStyle.SH_ItemView_EllipsisLocation
对于太长而无法适应视图项的项文本,应添加省略号的位置。
QStyle.SH_ItemView_ShowDecorationSelected
当在项目视图中选择一个项目时,同时高亮显示分支或其他装饰。
QStyle.SH_ItemView_ActivateItemOnSingleClick
当用户在项目视图中的项目上单击时发出激活信号。否则,当用户双击项目时发出信号。
QStyle.SH_Slider_AbsoluteSetButtons
哪些鼠标按钮会导致滑块将值设置为点击的位置。
QStyle.SH_Slider_PageSetButtons
哪些鼠标按钮会导致滑块页面步进值。
QStyle.SH_TabBar_ElideMode
标签栏的默认省略样式。
QStyle.SH_DialogButtonLayout
控制按钮在
QDialogButtonBox中的布局方式,返回一个ButtonLayout枚举。QStyle.SH_WizardStyle
控制
QWizard的外观和感觉。返回一个WizardStyle枚举。QStyle.SH_FormLayoutWrapPolicy
提供了在
QFormLayout中如何换行的默认设置。返回一个RowWrapPolicy枚举。QStyle.SH_FormLayoutFieldGrowthPolicy
提供了字段在
QFormLayout中如何增长的默认设置。返回一个FieldGrowthPolicy枚举。QStyle.SH_FormLayoutFormAlignment
提供了
QFormLayout在可用空间内对齐其内容的默认方式。返回一个Qt::Alignment枚举。QStyle.SH_FormLayoutLabelAlignment
提供了
QFormLayout在可用空间内对齐标签的默认方式。返回一个Qt::Alignment枚举。QStyle.SH_ItemView_ArrowKeysNavigateIntoChildren
控制树视图在展开时按下右箭头键是否选择第一个子项。
QStyle.SH_ComboBox_PopupFrameStyle
绘制组合框弹出菜单时使用的框架样式。
QStyle.SH_DialogButtonBox_ButtonsHaveIcons
指示
QDialogButtonBox中的StandardButtons是否应该具有图标。QStyle.SH_ItemView_MovementWithoutUpdatingSelection
项目视图能够指示当前项目而不改变选择。
QStyle.SH_ToolTip_Mask
工具提示的遮罩。
QStyle.SH_FocusFrame_AboveWidget
焦点框堆叠在它所“聚焦”的小部件之上。
QStyle.SH_TextControl_FocusIndicatorTextCharFormat
指定用于突出显示富文本文档中聚焦锚点的文本格式,例如在
QTextBrowser中显示的文档。该格式必须是在QStyleHintReturnVariant返回值的变体中返回的QTextCharFormat。QTextFormat::OutlinePen属性用于轮廓,QTextFormat::BackgroundBrush用于突出显示区域的背景。QStyle.SH_Menu_FlashTriggeredItem
闪烁触发的项目。
QStyle.SH_Menu_FadeOutOnHide
淡出菜单而不是立即隐藏它。
QStyle.SH_TabWidget_DefaultTabPosition
选项卡小部件中选项卡栏的默认位置。
QStyle.SH_ToolBar_Movable
确定工具栏默认是否可移动。
QStyle.SH_ItemView_PaintAlternatingRowColorsForEmptyArea
是否
QTreeView为没有任何项目的区域绘制交替行颜色。QStyle.SH_Menu_Mask
弹出菜单的遮罩。
QStyle.SH_ItemView_DrawDelegateFrame
确定是否应为委托小部件绘制框架。
QStyle.SH_TabBar_CloseButtonPosition
确定标签栏中标签上关闭按钮的位置。
QStyle.SH_DockWidget_ButtonsHaveFrame
确定停靠窗口按钮是否应该有边框。默认值为true。
QStyle.SH_ToolButtonStyle
确定使用Qt::ToolButtonFollowStyle的工具按钮的默认系统样式。
QStyle.SH_RequestSoftwareInputPanel
确定输入小部件何时应请求软件输入面板。返回一个类型为
RequestSoftwareInputPanel的枚举。QStyle.SH_ScrollBar_Transient
确定样式是否支持瞬态滚动条。瞬态滚动条在内容滚动时出现,在不再需要时消失。
QStyle.SH_Menu_SupportsSections
确定样式是否在菜单中显示部分或将它们视为普通分隔符。部分是具有文本和图标提示的分隔符。
QStyle.SH_ToolTip_WakeUpDelay
确定工具提示显示前的延迟时间,以毫秒为单位。
QStyle.SH_ToolTip_FallAsleepDelay
确定在显示工具提示时(注意:是显示,不是隐藏)需要新的唤醒时间之前的延迟(以毫秒为单位)。当不需要新的唤醒时,用户请求的工具提示将几乎立即显示。
QStyle.SH_Widget_Animate
已弃用。请改用 SH_Widget_Animation_Duration。
QStyle.SH_Splitter_OpaqueResize
确定在交互式移动分割器时是否动态(不透明地)调整小部件的大小。此枚举值在Qt 5.2中引入。
QStyle.SH_TabBar_ChangeCurrentDelay
确定在拖动标签栏时更改当前标签之前的延迟时间,以毫秒为单位。此枚举值在Qt 5.4中引入
QStyle.SH_ItemView_ScrollMode
默认的垂直和水平滚动模式由样式指定。可以通过
setVerticalScrollMode()和setHorizontalScrollMode()进行覆盖。此枚举值在Qt 5.7中引入。QStyle.SH_TitleBar_ShowToolTipsOnButtons
确定是否在窗口标题栏按钮上显示工具提示。例如,Mac样式将此设置为false。此枚举值已在Qt 5.10中引入。
QStyle.SH_Widget_Animation_Duration
确定动画应持续多长时间(以毫秒为单位)。值为零表示动画将被禁用。此枚举值已在Qt 5.10中引入。
QStyle.SH_ComboBox_AllowWheelScrolling
确定是否可以使用鼠标滚轮在
QComboBox内滚动。除了Mac风格外,所有风格默认都开启此功能。此枚举值在Qt 5.10中引入。QStyle.SH_SpinBox_ButtonsInsideFrame
确定微调框按钮是否在线编辑框内。此枚举值已在Qt 5.11中引入。
QStyle.SH_SpinBox_StepModifier
确定哪个 Qt::KeyboardModifier 增加
QAbstractSpinBox的步进速率。可能的值为 Qt::NoModifier、Qt::ControlModifier(默认)或 Qt::ShiftModifier。Qt::NoModifier 禁用此功能。此枚举值在 Qt 5.12 中引入。QStyle.SH_TabBar_AllowWheelScrolling
确定是否可以使用鼠标滚轮来循环浏览
QTabBar的标签。此枚举值已在Qt 6.1中引入。QStyle.SH_Table_AlwaysDrawLeftTopGridLines
确定当表头隐藏时,是否绘制表格的最左侧和顶部网格线。默认为 false。此枚举值已在 Qt 6.3 中引入。
另请参阅
- class StandardPixmap¶
(继承自
enum.IntEnum) 此枚举描述了可用的标准像素图。标准像素图是可以遵循某些现有GUI样式或指南的像素图。常量
描述
QStyle.SP_TitleBarMinButton
标题栏上的最小化按钮(例如,在
QMdiSubWindow中)。QStyle.SP_TitleBarMenuButton
标题栏上的菜单按钮。
QStyle.SP_TitleBarMaxButton
标题栏上的最大化按钮。
QStyle.SP_TitleBarCloseButton
标题栏上的关闭按钮。
QStyle.SP_TitleBarNormalButton
标题栏上的正常(恢复)按钮。
QStyle.SP_TitleBarShadeButton
标题栏上的阴影按钮。
QStyle.SP_TitleBarUnshadeButton
标题栏上的取消阴影按钮。
QStyle.SP_TitleBarContextHelpButton
标题栏上的上下文帮助按钮。
QStyle.SP_MessageBoxInformation
“信息”图标。
QStyle.SP_MessageBoxWarning
“警告”图标。
QStyle.SP_MessageBoxCritical
“严重”图标。
QStyle.SP_MessageBoxQuestion
“问题”图标。
QStyle.SP_DesktopIcon
“桌面”图标。
QStyle.SP_TrashIcon
“垃圾桶”图标。
QStyle.SP_ComputerIcon
“我的电脑”图标。
QStyle.SP_DriveFDIcon
软盘图标。
QStyle.SP_DriveHDIcon
硬盘驱动器图标。
QStyle.SP_DriveCDIcon
CD图标。
QStyle.SP_DriveDVDIcon
DVD图标。
QStyle.SP_DriveNetIcon
网络图标。
QStyle.SP_DirHomeIcon
主目录图标。
QStyle.SP_DirOpenIcon
打开的目录图标。
QStyle.SP_DirClosedIcon
关闭的目录图标。
QStyle.SP_DirIcon
目录图标。
QStyle.SP_DirLinkIcon
目录链接图标。
QStyle.SP_DirLinkOpenIcon
打开目录图标的链接。
QStyle.SP_FileIcon
文件图标。
QStyle.SP_FileLinkIcon
文件链接图标。
QStyle.SP_FileDialogStart
文件对话框中的“开始”图标。
QStyle.SP_FileDialogEnd
文件对话框中的“结束”图标。
QStyle.SP_FileDialogToParent
文件对话框中的“父目录”图标。
QStyle.SP_FileDialogNewFolder
文件对话框中的“创建新文件夹”图标。
QStyle.SP_FileDialogDetailedView
文件对话框中的详细视图图标。
QStyle.SP_FileDialogInfoView
文件对话框中的文件信息图标。
QStyle.SP_FileDialogContentsView
文件对话框中的内容视图图标。
QStyle.SP_FileDialogListView
文件对话框中的列表视图图标。
QStyle.SP_FileDialogBack
文件对话框中的后退箭头。
QStyle.SP_DockWidgetCloseButton
停靠窗口上的关闭按钮(另见
QDockWidget)。QStyle.SP_ToolBarHorizontalExtensionButton
水平工具栏的扩展按钮。
QStyle.SP_ToolBarVerticalExtensionButton
垂直工具栏的扩展按钮。
QStyle.SP_DialogOkButton
用于
QDialogButtonBox中标准确定按钮的图标。QStyle.SP_DialogCancelButton
用于
QDialogButtonBox中标准取消按钮的图标。QStyle.SP_DialogHelpButton
用于
QDialogButtonBox中标准帮助按钮的图标。QStyle.SP_DialogOpenButton
用于
QDialogButtonBox中的标准打开按钮的图标。QStyle.SP_DialogSaveButton
用于
QDialogButtonBox中标准保存按钮的图标。QStyle.SP_DialogCloseButton
用于
QDialogButtonBox中的标准关闭按钮的图标。QStyle.SP_DialogApplyButton
用于
QDialogButtonBox中标准应用按钮的图标。QStyle.SP_DialogResetButton
用于
QDialogButtonBox中标准重置按钮的图标。QStyle.SP_DialogDiscardButton
用于
QDialogButtonBox中的标准丢弃按钮的图标。QStyle.SP_DialogYesButton
用于
QDialogButtonBox中标准“是”按钮的图标。QStyle.SP_DialogNoButton
QDialogButtonBox中标准“否”按钮的图标。QStyle.SP_ArrowUp
图标箭头指向上方。
QStyle.SP_ArrowDown
图标箭头指向下方。
QStyle.SP_ArrowLeft
图标箭头指向左边。
QStyle.SP_ArrowRight
图标箭头指向右侧。
QStyle.SP_ArrowBack
当当前布局方向为Qt::LeftToRight时,等同于SP_ArrowLeft,否则等同于SP_ArrowRight。
QStyle.SP_ArrowForward
当当前布局方向为Qt::LeftToRight时,等同于SP_ArrowRight,否则等同于SP_ArrowLeft。
QStyle.SP_CommandLink
用于指示Vista样式命令链接字形的图标。
QStyle.SP_VistaShield
用于指示Windows Vista上的UAC提示的图标。在所有其他平台上,这将返回一个空的像素图或图标。
QStyle.SP_BrowserReload
图标表示应重新加载当前页面。
QStyle.SP_BrowserStop
表示应停止页面加载的图标。
QStyle.SP_MediaPlay
表示媒体应开始播放的图标。
QStyle.SP_MediaStop
表示媒体应停止播放的图标。
QStyle.SP_MediaPause
表示媒体应暂停播放的图标。
QStyle.SP_MediaSkipForward
表示媒体应向前跳转的图标。
QStyle.SP_MediaSkipBackward
表示媒体应向后跳转的图标。
QStyle.SP_MediaSeekForward
表示媒体应向前搜索的图标。
QStyle.SP_MediaSeekBackward
表示媒体应向后搜索的图标。
QStyle.SP_MediaVolume
表示音量控制的图标。
QStyle.SP_MediaVolumeMuted
表示静音音量控制的图标。
QStyle.SP_LineEditClearButton
QLineEdit中标准清除按钮的图标。QStyle.SP_DialogYesToAllButton
用于
QDialogButtonBox中的标准YesToAll按钮的图标。QStyle.SP_DialogNoToAllButton
用于
QDialogButtonBox中的标准NoToAll按钮的图标。QStyle.SP_DialogSaveAllButton
用于
QDialogButtonBox中的标准保存所有按钮的图标。QStyle.SP_DialogAbortButton
用于
QDialogButtonBox中的标准中止按钮的图标。QStyle.SP_DialogRetryButton
用于
QDialogButtonBox中标准重试按钮的图标。QStyle.SP_DialogIgnoreButton
用于
QDialogButtonBox中标准忽略按钮的图标。QStyle.SP_RestoreDefaultsButton
用于
QDialogButtonBox中的标准恢复默认按钮的图标。QStyle.SP_TabCloseButton
QTabBar标签页中关闭按钮的图标。QStyle.SP_CustomBase
自定义标准像素图的基础值;自定义值必须大于此值。
另请参阅
- __init__()¶
构建一个样式对象。
- static alignedRect(direction, alignment, size, rectangle)¶
- Parameters:
direction –
LayoutDirectionalignment –
AlignmentFlag的组合size –
QSize矩形 –
QRect
- Return type:
返回一个指定
size的新矩形,该矩形根据指定的alignment和direction与给定的rectangle对齐。- combinedLayoutSpacing(controls1, controls2, orientation[, option=None[, widget=None]])¶
- Parameters:
controls1 –
ControlType的组合controls2 –
ControlType的组合orientation –
Orientationoption –
QStyleOptionwidget –
QWidget
- Return type:
整数
返回在布局中
controls1和controls2之间应使用的间距。orientation指定控件是并排排列还是垂直堆叠。option参数可用于传递有关父小部件的额外信息。widget参数是可选的,如果option为None,也可以使用。controls1和controls2是零个或多个control types的 OR 组合。此函数由布局系统调用。仅当
PM_LayoutHorizontalSpacing或PM_LayoutVerticalSpacing返回负值时使用。另请参阅
- abstract drawComplexControl(cc, opt, p[, widget=None])¶
- Parameters:
cc –
ComplexControlopt –
QStyleOptionComplexp –
QPainterwidget –
QWidget
使用提供的
painter绘制给定的control,并使用option指定的样式选项。widget参数是可选的,可以用作绘制控件的辅助工具。option参数是一个指向QStyleOptionComplex对象的指针,可以使用qstyleoption_cast()函数将其转换为正确的子类。请注意,指定的option的rect成员必须处于逻辑坐标中。此函数的重新实现应在调用drawPrimitive()或drawControl()函数之前,使用visualRect()将逻辑坐标转换为屏幕坐标。下表列出了复杂的控制元素及其相关的样式选项子类。样式选项包含绘制控制所需的所有参数,包括QStyleOption::state,它保存了绘制时使用的
style flags。该表还描述了将给定的option转换为适当子类时设置的标志。复杂控件
样式标志
备注
设置如果微调框启用。
如果微调框具有输入焦点,则设置。
如果组合框启用,则设置。
如果组合框具有输入焦点,则设置。
设置滚动条是否启用。
如果滚动条具有输入焦点,则设置。
设置滑块是否启用。
如果滑块具有输入焦点,则设置。
设置拨号盘是否启用。
如果拨号有输入焦点,则设置。
设置工具按钮是否启用。
如果工具按钮具有输入焦点,则设置。
设置工具按钮是否按下(即鼠标按钮或空格键被按下)。
如果工具按钮是切换按钮并且已切换为开启状态,则设置。
设置工具按钮是否启用了自动提升。
如果按钮未按下、未开启,并且在启用自动提升时不包含鼠标,则设置。
设置标题栏是否启用。
- abstract drawControl(element, opt, p[, widget=None])¶
- Parameters:
element –
ControlElementopt –
QStyleOptionp –
QPainterwidget –
QWidget
使用提供的
painter绘制给定的element,并使用option指定的样式选项。widget参数是可选的,可以用作绘制控件的辅助工具。option参数是一个指向QStyleOption对象的指针,可以使用qstyleoption_cast()函数将其转换为正确的子类。下表列出了控制元素及其相关的样式选项子类。样式选项包含绘制控制所需的所有参数,包括QStyleOption::state,它保存了绘制时使用的样式标志。该表还描述了在将给定选项转换为适当的子类时设置的标志。
请注意,如果控制元素未在此列出,那是因为它使用了普通的
QStyleOption对象。控制元素
QStyleOption子类样式标志
备注
菜单项当前被选中。
该项目已启用。
表示应该绘制一个向下滚动箭头。
表示应该绘制一个向上滚动的箭头
如果菜单栏有输入焦点,则设置。
如果按钮启用,则设置。
如果按钮具有输入焦点,则设置。
如果按钮未按下、未开启且未平放,则设置。
如果按钮是切换按钮并且已切换为开启状态,则设置。
设置按钮是否按下(即鼠标按钮或空格键在按钮上按下)。
CE_RadioButton,CE_RadioButtonLabel,CE_CheckBox,CE_CheckBoxLabel如果按钮启用,则设置。
如果按钮具有输入焦点,则设置。
如果按钮被选中,则设置。
如果按钮未被选中,则设置。
设置按钮是否处于NoChange状态。
设置按钮是否按下(即鼠标按钮或空格键在按钮上按下)。
CE_ProgressBarContents,CE_ProgressBarLabel,CE_ProgressBarGroove如果进度条启用,则设置。
如果进度条具有输入焦点,则设置。
如果标签栏启用,则设置。
标签栏是当前选中的标签栏。
如果标签栏标签具有输入焦点,则设置。
设置工具按钮是否启用。
如果工具按钮具有输入焦点,则设置。
设置工具按钮是否按下(即鼠标按钮或空格键被按下)。
如果工具按钮是切换按钮并且已切换为开启状态,则设置。
设置工具按钮是否启用了自动提升。
如果鼠标指针悬停在工具按钮上,则设置此状态。
如果按钮未按下且未开启,则设置。
该选项卡是当前选中的选项卡。
表示该部分被按下。
表示排序指示器应指向向上。
表示排序指示器应指向下方。
- drawItemPixmap(painter, rect, alignment, pixmap)¶
使用提供的
painter,根据指定的alignment,在指定的rectangle中绘制给定的pixmap。另请参阅
- drawItemText(painter, rect, flags, pal, enabled, text[, textRole=QPalette.NoRole])¶
使用提供的
painter和palette在指定的rectangle中绘制给定的text。文本使用画家的笔绘制,并根据指定的
alignment进行对齐和换行。如果指定了显式的textRole,则使用palette中给定角色的颜色绘制文本。enabled参数指示项目是否启用;在重新实现此函数时,enabled参数应影响项目的绘制方式。另请参阅
- abstract drawPrimitive(pe, opt, p[, widget=None])¶
- Parameters:
pe –
PrimitiveElementopt –
QStyleOptionp –
QPainterwidget –
QWidget
使用由
option指定的样式选项,用提供的painter绘制给定的原始element。widget参数是可选的,可能包含一个有助于绘制原始元素的小部件。下表列出了原始元素及其相关的样式选项子类。样式选项包含绘制元素所需的所有参数,包括QStyleOption::state,它保存了绘制时使用的样式标志。该表还描述了将给定选项转换为适当子类时设置的标志。
请注意,如果此处未列出原始元素,则是因为它使用了普通的
QStyleOption对象。原始元素
QStyleOption子类样式标志
备注
焦点是否在边框或小部件内部。
表示一个“三态”复选框。
表示指示器已选中。
表示单选按钮被选中。
表示一个“三态”控制器。
表示控制器已启用。
表示应绘制用于展开树以显示子项的控制。
表示应绘制一个水平分支(以显示子项)。
表示树分支已展开。
表示应绘制一条垂直线(以显示同级项目)。
表示箭头应向上绘制;否则应向下。
PE_FrameGroupBox,PE_Frame,PE_FrameLineEdit,PE_FrameMenu,PE_FrameDockWidget,PE_FrameWindow表示该框架应该是凹陷的。
表示窗口手柄是水平的而不是垂直的。
PE_IndicatorSpinPlus,PE_IndicatorSpinMinus,PE_IndicatorSpinUp,PE_IndicatorSpinDown,表示按钮被按下。
如果按钮启用,则设置。
如果按钮具有输入焦点,则设置。
如果按钮未按下、未开启且未平放,则设置。
如果按钮是切换按钮并且已切换为开启状态,则设置。
设置按钮是否按下(即鼠标按钮或空格键在按钮上按下)。
- abstract generatedIconPixmap(iconMode, pixmap, opt)¶
- Parameters:
iconMode –
Modepixmap –
QPixmapopt –
QStyleOption
- Return type:
返回给定
pixmap的副本,样式化以符合指定的iconMode,并考虑由option指定的调色板。option参数可以传递额外信息,但它必须包含一个调色板。请注意,并非所有的像素图都会符合要求,在这种情况下,返回的像素图将是一个普通的副本。
另请参阅
- abstract hitTestComplexControl(cc, opt, pt[, widget=None])¶
- Parameters:
cc –
ComplexControlopt –
QStyleOptionComplexpt –
QPointwidget –
QWidget
- Return type:
返回给定复杂
control中指定position处的子控件(使用option指定的样式选项)。请注意,
position是以屏幕坐标表示的。option参数是一个指向QStyleOptionComplex对象(或其子类之一)的指针。可以使用qstyleoption_cast()函数将对象转换为适当的类型。详情请参见drawComplexControl()。widget参数是可选的,可以包含函数的附加信息。- itemPixmapRect(r, flags, pixmap)¶
返回给定的
rectangle内根据定义的alignment绘制指定pixmap的区域。- itemTextRect(fm, r, flags, enabled, text)¶
- Parameters:
fm –
QFontMetricsr –
QRectflags – int
enabled – 布尔值
文本 – str
- Return type:
返回在给定的
rectangle内绘制提供的text的区域,根据指定的字体metrics和alignment。enabled参数指示相关项目是否启用。如果给定的
rectangle大于渲染text所需的区域,返回的矩形将根据指定的alignment在rectangle内偏移。例如,如果alignment是Qt::AlignCenter,返回的矩形将在rectangle内居中。如果给定的rectangle小于所需的区域,返回的矩形将是足够大以渲染text的最小矩形。另请参阅
Alignment- abstract layoutSpacing(control1, control2, orientation[, option=None[, widget=None]])¶
- Parameters:
control1 –
ControlTypecontrol2 –
ControlTypeorientation –
Orientationoption –
QStyleOptionwidget –
QWidget
- Return type:
整数
返回在布局中
control1和control2之间应使用的间距。orientation指定控件是并排排列还是垂直堆叠。option参数可用于传递有关父小部件的额外信息。widget参数是可选的,如果option是None,也可以使用。此函数由布局系统调用。仅当
PM_LayoutHorizontalSpacing或PM_LayoutVerticalSpacing返回负值时使用。- name()¶
- Return type:
字符串
返回样式的名称。
此值可用于通过
create()创建样式。另请参阅
- abstract pixelMetric(metric[, option=None[, widget=None]])¶
- Parameters:
metric –
PixelMetricoption –
QStyleOptionwidget –
QWidget
- Return type:
整数
返回给定像素
metric的值。指定的
option和widget可用于计算度量。可以使用qstyleoption_cast()函数将option转换为适当的类型。请注意,即使对于可以利用它的PixelMetrics,option也可能为零。请参阅下表以了解适当的option转换:像素度量
QStyleOption子类一些像素指标是从小部件调用的,而另一些仅由样式内部调用。如果指标不是由小部件调用的,则由样式作者自行决定是否使用它。对于某些样式,这可能不合适。
- polish(application)¶
- Parameters:
应用程序 –
QApplication
这是一个重载函数。
给定
application对象的延迟初始化。- polish(palette)
- Parameters:
调色板 –
QPalette
这是一个重载函数。
根据样式特定的调色板要求(如果有的话)更改
palette。另请参阅
- polish(widget)
- Parameters:
widget –
QWidget
初始化给定
widget的外观。此函数在每个小部件完全创建后的某个时刻调用,但就在它首次显示之前。
请注意,默认实现不执行任何操作。在此函数中合理的操作可能是为小部件调用QWidget::setBackgroundMode()函数。不要使用此函数来设置,例如,几何形状。重新实现此函数提供了一个后门,通过它可以更改小部件的外观,但在Qt的样式引擎中,很少需要实现此函数;请改为重新实现
drawItemPixmap()、drawItemText()、drawPrimitive()等。QWidget::inherits() 函数可能提供足够的信息来允许特定类的自定义。但由于新的
QStyle子类预计将与所有当前和未来的小部件合理工作,建议有限使用硬编码的自定义。另请参阅
此函数返回此样式的当前代理。默认情况下,大多数样式将返回自身。然而,当使用代理样式时,它将允许样式回调到其代理。
- abstract sizeFromContents(ct, opt, contentsSize[, w=None])¶
- Parameters:
ct –
ContentsTypeopt –
QStyleOptioncontentsSize –
QSizew –
QWidget
- Return type:
返回由指定的
option和type描述的元素的大小,基于提供的contentsSize。option参数是一个指向QStyleOption或其子类的指针。可以使用qstyleoption_cast()函数将option转换为适当的类型。widget是一个可选参数,可以包含用于计算大小的额外信息。请查看下表以了解适当的
option转换:内容类型
QStyleOption子类另请参阅
- static sliderPositionFromValue(min, max, val, space[, upsideDown=false])¶
- Parameters:
min – int
max – int
val – 整数
space – int
upsideDown – 布尔值
- Return type:
整数
将给定的
logicalValue转换为像素位置。min参数映射到0,max映射到span,其他值在两者之间均匀分布。此函数可以处理整个整数范围而不会溢出,前提是
span小于4096。默认情况下,此函数假设水平项目的最大值在右侧,垂直项目的最大值在底部。将
upsideDown参数设置为true以反转此行为。- static sliderValueFromPosition(min, max, pos, space[, upsideDown=false])¶
- Parameters:
min – int
max – int
pos – 整数
space – int
upsideDown – 布尔值
- Return type:
整数
将给定的像素
位置转换为逻辑值。0映射到min参数,span映射到max,其他值在两者之间均匀分布。此函数可以处理整个整数范围而不会溢出。
默认情况下,此函数假设水平项目的最大值在右侧,垂直项目的最大值在底部。将
upsideDown参数设置为true以反转此行为。- abstract standardIcon(standardIcon[, option=None[, widget=None]])¶
- Parameters:
standardIcon –
StandardPixmapoption –
QStyleOptionwidget –
QWidget
- Return type:
返回给定
standardIcon的图标。standardIcon是一个标准的像素图,可以遵循一些现有的图形用户界面风格或指南。option参数可用于传递定义适当图标时所需的额外信息。widget参数是可选的,也可以用于帮助确定图标。返回样式的标准调色板。
请注意,在支持系统颜色的系统上,不使用样式的标准调色板。特别是,Windows Vista和Mac样式不使用标准调色板,而是利用本地主题引擎。对于这些样式,您不应使用
setPalette()来设置调色板。另请参阅
- abstract standardPixmap(standardPixmap[, opt=None[, widget=None]])¶
- Parameters:
standardPixmap –
StandardPixmapopt –
QStyleOptionwidget –
QWidget
- Return type:
返回给定
standardPixmap的像素图。标准像素图是一种可以遵循某些现有GUI风格或指南的像素图。
option参数可用于传递定义适当像素图时所需的额外信息。widget参数是可选的,也可以用于帮助确定像素图。开发者调用standardPixmap()应该改为调用
standardIcon()。重新实现standardPixmap()的开发者应该改为重新实现standardIcon()。另请参阅
- abstract styleHint(stylehint[, opt=None[, widget=None[, returnData=None]]])¶
- Parameters:
stylehint –
StyleHintopt –
QStyleOptionwidget –
QWidgetreturnData –
QStyleHintReturn
- Return type:
整数
返回一个整数,表示由提供的样式
option描述的给定widget的指定样式hint。returnData用于当查询小部件需要比 styleHint() 返回的整数更详细的数据时。详情请参见QStyleHintReturn类描述。- abstract subControlRect(cc, opt, sc[, widget=None])¶
- Parameters:
cc –
ComplexControlopt –
QStyleOptionComplexsc –
SubControlwidget –
QWidget
- Return type:
返回包含指定复杂
control的特定subControl的矩形(由option指定的样式)。该矩形以屏幕坐标定义。option参数是一个指向QStyleOptionComplex或其子类的指针,可以使用qstyleoption_cast()函数将其转换为适当的类型。详情请参见drawComplexControl()。widget是可选的,可以包含函数的附加信息。另请参阅
- abstract subElementRect(subElement, option[, widget=None])¶
- Parameters:
subElement –
SubElementoption –
QStyleOptionwidget –
QWidget
- Return type:
返回给定
element的子区域,如提供的样式option中所述。返回的矩形在屏幕坐标中定义。widget参数是可选的,可用于帮助确定区域。QStyleOption对象可以使用qstyleoption_cast()函数转换为适当的类型。请参阅下表以获取适当的option转换:子元素
QStyleOption子类- unpolish(application)¶
- Parameters:
应用程序 –
QApplication
这是一个重载函数。
取消初始化给定的
application。- unpolish(widget)
- Parameters:
widget –
QWidget
取消初始化给定
widget的外观。此函数是
polish()的对应函数。每当样式动态更改时,它都会为每个经过修饰的小部件调用;在重新应用新样式之前,必须先取消之前的样式设置。请注意,unpolish() 只有在小部件被销毁时才会被调用。这可能会导致一些问题,例如,如果您从用户界面中移除一个小部件,缓存它,然后在样式更改后重新插入它;Qt 的一些类会缓存它们的小部件。
另请参阅
- static visualAlignment(direction, alignment)¶
- Parameters:
direction –
LayoutDirectionalignment –
AlignmentFlag的组合
- Return type:
AlignmentFlag的组合
根据布局
方向,将Qt::AlignLeft或Qt::AlignRight(不包含Qt::AlignAbsolute)的对齐方式转换为包含Qt::AlignAbsolute的Qt::AlignLeft或Qt::AlignRight。其他对齐标志保持不变。如果没有指定水平对齐方式,函数将返回给定布局
direction的默认对齐方式。- static visualPos(direction, boundingRect, logicalPos)¶
- Parameters:
direction –
LayoutDirectionboundingRect –
QRectlogicalPos –
QPoint
- Return type:
返回根据指定的
direction将给定的logicalPosition转换为屏幕坐标。在执行转换时使用boundingRectangle。另请参阅
- static visualRect(direction, boundingRect, logicalRect)¶
- Parameters:
direction –
LayoutDirectionboundingRect –
QRectlogicalRect –
QRect
- Return type:
返回基于指定的
direction将给定的logicalRectangle转换为屏幕坐标。在执行转换时使用boundingRectangle。此函数用于支持从右到左的桌面,通常用于实现
subControlRect()函数。另请参阅