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
中的形状为框架内容区域;参见QFrame
QStyle.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 –
LayoutDirection
alignment –
AlignmentFlag
的组合size –
QSize
矩形 –
QRect
- Return type:
返回一个指定
size
的新矩形,该矩形根据指定的alignment
和direction
与给定的rectangle
对齐。- combinedLayoutSpacing(controls1, controls2, orientation[, option=None[, widget=None]])¶
- Parameters:
controls1 –
ControlType
的组合controls2 –
ControlType
的组合orientation –
Orientation
option –
QStyleOption
widget –
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 –
ComplexControl
opt –
QStyleOptionComplex
p –
QPainter
widget –
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 –
ControlElement
opt –
QStyleOption
p –
QPainter
widget –
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 –
PrimitiveElement
opt –
QStyleOption
p –
QPainter
widget –
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 –
Mode
pixmap –
QPixmap
opt –
QStyleOption
- Return type:
返回给定
pixmap
的副本,样式化以符合指定的iconMode
,并考虑由option
指定的调色板。option
参数可以传递额外信息,但它必须包含一个调色板。请注意,并非所有的像素图都会符合要求,在这种情况下,返回的像素图将是一个普通的副本。
另请参阅
- abstract hitTestComplexControl(cc, opt, pt[, widget=None])¶
- Parameters:
cc –
ComplexControl
opt –
QStyleOptionComplex
pt –
QPoint
widget –
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 –
QFontMetrics
r –
QRect
flags – 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 –
ControlType
control2 –
ControlType
orientation –
Orientation
option –
QStyleOption
widget –
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 –
PixelMetric
option –
QStyleOption
widget –
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 –
ContentsType
opt –
QStyleOption
contentsSize –
QSize
w –
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 –
StandardPixmap
option –
QStyleOption
widget –
QWidget
- Return type:
返回给定
standardIcon
的图标。standardIcon
是一个标准的像素图,可以遵循一些现有的图形用户界面风格或指南。option
参数可用于传递定义适当图标时所需的额外信息。widget
参数是可选的,也可以用于帮助确定图标。返回样式的标准调色板。
请注意,在支持系统颜色的系统上,不使用样式的标准调色板。特别是,Windows Vista和Mac样式不使用标准调色板,而是利用本地主题引擎。对于这些样式,您不应使用
setPalette()
来设置调色板。另请参阅
- abstract standardPixmap(standardPixmap[, opt=None[, widget=None]])¶
- Parameters:
standardPixmap –
StandardPixmap
opt –
QStyleOption
widget –
QWidget
- Return type:
返回给定
standardPixmap
的像素图。标准像素图是一种可以遵循某些现有GUI风格或指南的像素图。
option
参数可用于传递定义适当像素图时所需的额外信息。widget
参数是可选的,也可以用于帮助确定像素图。开发者调用standardPixmap()应该改为调用
standardIcon()
。重新实现standardPixmap()的开发者应该改为重新实现standardIcon()
。另请参阅
- abstract styleHint(stylehint[, opt=None[, widget=None[, returnData=None]]])¶
- Parameters:
stylehint –
StyleHint
opt –
QStyleOption
widget –
QWidget
returnData –
QStyleHintReturn
- Return type:
整数
返回一个整数,表示由提供的样式
option
描述的给定widget
的指定样式hint
。returnData
用于当查询小部件需要比 styleHint() 返回的整数更详细的数据时。详情请参见QStyleHintReturn
类描述。- abstract subControlRect(cc, opt, sc[, widget=None])¶
- Parameters:
cc –
ComplexControl
opt –
QStyleOptionComplex
sc –
SubControl
widget –
QWidget
- Return type:
返回包含指定复杂
control
的特定subControl
的矩形(由option
指定的样式)。该矩形以屏幕坐标定义。option
参数是一个指向QStyleOptionComplex
或其子类的指针,可以使用qstyleoption_cast()
函数将其转换为适当的类型。详情请参见drawComplexControl()
。widget
是可选的,可以包含函数的附加信息。另请参阅
- abstract subElementRect(subElement, option[, widget=None])¶
- Parameters:
subElement –
SubElement
option –
QStyleOption
widget –
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 –
LayoutDirection
alignment –
AlignmentFlag
的组合
- Return type:
AlignmentFlag
的组合
根据布局
方向
,将Qt::AlignLeft或Qt::AlignRight(不包含Qt::AlignAbsolute)的对齐方式转换为包含Qt::AlignAbsolute的Qt::AlignLeft或Qt::AlignRight。其他对齐标志保持不变。如果没有指定水平对齐方式,函数将返回给定布局
direction
的默认对齐方式。- static visualPos(direction, boundingRect, logicalPos)¶
- Parameters:
direction –
LayoutDirection
boundingRect –
QRect
logicalPos –
QPoint
- Return type:
返回根据指定的
direction
将给定的logicalPosition
转换为屏幕坐标。在执行转换时使用boundingRectangle
。另请参阅
- static visualRect(direction, boundingRect, logicalRect)¶
- Parameters:
direction –
LayoutDirection
boundingRect –
QRect
logicalRect –
QRect
- Return type:
返回基于指定的
direction
将给定的logicalRectangle
转换为屏幕坐标。在执行转换时使用boundingRectangle
。此函数用于支持从右到左的桌面,通常用于实现
subControlRect()
函数。另请参阅