PySide6.QtWidgets.QStyle

class QStyle

QStyle 类是一个抽象基类,封装了图形用户界面的外观和感觉。更多

PySide6.QtWidgets.QStyle 的继承图

继承自: QCommonStyle, QProxyStyle

概要

方法

虚拟方法

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

Qt 包含一组 QStyle 子类,这些子类模拟了 Qt 支持的不同平台的风格(QWindowsStyle、QMacStyle 等)。默认情况下,这些风格被内置在 Qt GUI 模块中。风格也可以作为插件提供。

Qt 的内置小部件使用 QStyle 来执行几乎所有的绘制操作,确保它们看起来与等效的原生小部件完全一样。下图展示了九种不同样式的 QComboBox

../../_images/qstyle-comboboxes.png

主题:

设置样式

整个应用程序的样式可以使用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)

QStyleQStyleOption 获取渲染图形元素所需的所有信息。小部件作为最后一个参数传递,以防样式需要它来执行特殊效果(例如 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_IndicatorSpinUpPE_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_IndicatorSpinUpPE_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()。

在使样式在从右到左的环境中良好工作时,需要注意以下几点:

项目视图中的样式

视图中的项目绘制由委托执行。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 负责绘制项目的背景,并从 QCommonStyleCE_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部件或按钮样式。

另请参阅

drawPrimitive()

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

菜单的面板。

另请参阅

drawPrimitive()

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

另请参阅

drawControl()

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

工具栏手柄的区域。

另请参阅

subElementRect()

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

匹配所有子控件的特殊值。

另请参阅

ComplexControl

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

默认的左边距用于QLayout

QStyle.PM_LayoutTopMargin

默认的top margin用于QLayout

QStyle.PM_LayoutRightMargin

默认的right margin用于QLayout

QStyle.PM_LayoutBottomMargin

默认的底部 边距用于QLayout

QStyle.PM_LayoutHorizontalSpacing

默认的水平 间距用于QLayout

QStyle.PM_LayoutVerticalSpacing

默认的垂直 间距用于QLayout

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

自定义像素度量的基值。自定义值必须大于此值。

另请参阅

pixelMetric()

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子窗口菜单栏中的最小化、正常化和关闭按钮。

另请参阅

sizeFromContents()

class RequestSoftwareInputPanel

此枚举描述了在什么情况下,能够输入的部件会请求软件输入面板。

常量

描述

QStyle.RSIP_OnMouseClickAndAlreadyFocused

如果用户点击小部件,则请求输入面板,但仅当它已经获得焦点时。

QStyle.RSIP_OnMouseClick

如果用户点击小部件,则请求输入面板。

另请参阅

QInputMethod

在版本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_ScrollBarAddLineSC_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 中引入。

另请参阅

styleHint()

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

自定义标准像素图的基础值;自定义值必须大于此值。

另请参阅

standardIcon()

__init__()

构建一个样式对象。

static alignedRect(direction, alignment, size, rectangle)
Parameters:
Return type:

QRect

返回一个指定size的新矩形,该矩形根据指定的alignmentdirection与给定的rectangle对齐。

combinedLayoutSpacing(controls1, controls2, orientation[, option=None[, widget=None]])
Parameters:
Return type:

整数

返回在布局中controls1controls2之间应使用的间距。orientation指定控件是并排排列还是垂直堆叠。option参数可用于传递有关父小部件的额外信息。widget参数是可选的,如果optionNone,也可以使用。

controls1controls2 是零个或多个 control types 的 OR 组合。

此函数由布局系统调用。仅当PM_LayoutHorizontalSpacingPM_LayoutVerticalSpacing返回负值时使用。

另请参阅

layoutSpacing()

abstract drawComplexControl(cc, opt, p[, widget=None])
Parameters:

使用提供的painter绘制给定的control,并使用option指定的样式选项。

widget 参数是可选的,可以用作绘制控件的辅助工具。

option 参数是一个指向 QStyleOptionComplex 对象的指针,可以使用 qstyleoption_cast() 函数将其转换为正确的子类。请注意,指定的 optionrect 成员必须处于逻辑坐标中。此函数的重新实现应在调用 drawPrimitive()drawControl() 函数之前,使用 visualRect() 将逻辑坐标转换为屏幕坐标。

下表列出了复杂的控制元素及其相关的样式选项子类。样式选项包含绘制控制所需的所有参数,包括QStyleOption::state,它保存了绘制时使用的style flags。该表还描述了将给定的option转换为适当子类时设置的标志。

复杂控件

QStyleOptionComplex 子类

样式标志

备注

CC_SpinBox

QStyleOptionSpinBox

State_Enabled

设置如果微调框启用。

State_HasFocus

如果微调框具有输入焦点,则设置。

CC_ComboBox

QStyleOptionComboBox

State_Enabled

如果组合框启用,则设置。

State_HasFocus

如果组合框具有输入焦点,则设置。

CC_ScrollBar

QStyleOptionSlider

State_Enabled

设置滚动条是否启用。

State_HasFocus

如果滚动条具有输入焦点,则设置。

CC_Slider

QStyleOptionSlider

State_Enabled

设置滑块是否启用。

State_HasFocus

如果滑块具有输入焦点,则设置。

CC_Dial

QStyleOptionSlider

State_Enabled

设置拨号盘是否启用。

State_HasFocus

如果拨号有输入焦点,则设置。

CC_ToolButton

QStyleOptionToolButton

State_Enabled

设置工具按钮是否启用。

State_HasFocus

如果工具按钮具有输入焦点,则设置。

State_DownArrow

设置工具按钮是否按下(即鼠标按钮或空格键被按下)。

State_On

如果工具按钮是切换按钮并且已切换为开启状态,则设置。

State_AutoRaise

设置工具按钮是否启用了自动提升。

State_Raised

如果按钮未按下、未开启,并且在启用自动提升时不包含鼠标,则设置。

CC_TitleBar

QStyleOptionTitleBar

State_Enabled

设置标题栏是否启用。

abstract drawControl(element, opt, p[, widget=None])
Parameters:

使用提供的painter绘制给定的element,并使用option指定的样式选项。

widget 参数是可选的,可以用作绘制控件的辅助工具。option 参数是一个指向 QStyleOption 对象的指针,可以使用 qstyleoption_cast() 函数将其转换为正确的子类。

下表列出了控制元素及其相关的样式选项子类。样式选项包含绘制控制所需的所有参数,包括QStyleOption::state,它保存了绘制时使用的样式标志。该表还描述了在将给定选项转换为适当的子类时设置的标志。

请注意,如果控制元素未在此列出,那是因为它使用了普通的QStyleOption对象。

控制元素

QStyleOption 子类

样式标志

备注

CE_MenuItem , CE_MenuBarItem

QStyleOptionMenuItem

State_Selected

菜单项当前被选中。

State_Enabled

该项目已启用。

State_DownArrow

表示应该绘制一个向下滚动箭头。

State_UpArrow

表示应该绘制一个向上滚动的箭头

State_HasFocus

如果菜单栏有输入焦点,则设置。

CE_PushButton , CE_PushButtonBevel , CE_PushButtonLabel

QStyleOptionButton

State_Enabled

如果按钮启用,则设置。

State_HasFocus

如果按钮具有输入焦点,则设置。

State_Raised

如果按钮未按下、未开启且未平放,则设置。

State_On

如果按钮是切换按钮并且已切换为开启状态,则设置。

State_Sunken

设置按钮是否按下(即鼠标按钮或空格键在按钮上按下)。

CE_RadioButton , CE_RadioButtonLabel , CE_CheckBox , CE_CheckBoxLabel

QStyleOptionButton

State_Enabled

如果按钮启用,则设置。

State_HasFocus

如果按钮具有输入焦点,则设置。

State_On

如果按钮被选中,则设置。

State_Off

如果按钮未被选中,则设置。

State_NoChange

设置按钮是否处于NoChange状态。

State_Sunken

设置按钮是否按下(即鼠标按钮或空格键在按钮上按下)。

CE_ProgressBarContents , CE_ProgressBarLabel , CE_ProgressBarGroove

QStyleOptionProgressBar

State_Enabled

如果进度条启用,则设置。

State_HasFocus

如果进度条具有输入焦点,则设置。

CE_Header , CE_HeaderSection , CE_HeaderLabel

QStyleOptionHeader

CE_TabBarTab , CE_TabBarTabShape , CE_TabBarTabLabel

QStyleOptionTab

State_Enabled

如果标签栏启用,则设置。

State_Selected

标签栏是当前选中的标签栏。

State_HasFocus

如果标签栏标签具有输入焦点,则设置。

CE_ToolButtonLabel

QStyleOptionToolButton

State_Enabled

设置工具按钮是否启用。

State_HasFocus

如果工具按钮具有输入焦点,则设置。

State_Sunken

设置工具按钮是否按下(即鼠标按钮或空格键被按下)。

State_On

如果工具按钮是切换按钮并且已切换为开启状态,则设置。

State_AutoRaise

设置工具按钮是否启用了自动提升。

State_MouseOver

如果鼠标指针悬停在工具按钮上,则设置此状态。

State_Raised

如果按钮未按下且未开启,则设置。

CE_ToolBoxTab

QStyleOptionToolBox

State_Selected

该选项卡是当前选中的选项卡。

CE_HeaderSection

QStyleOptionHeader

State_Sunken

表示该部分被按下。

State_UpArrow

表示排序指示器应指向向上。

State_DownArrow

表示排序指示器应指向下方。

drawItemPixmap(painter, rect, alignment, pixmap)
Parameters:

使用提供的painter,根据指定的alignment,在指定的rectangle中绘制给定的pixmap

另请参阅

drawItemText()

drawItemText(painter, rect, flags, pal, enabled, text[, textRole=QPalette.NoRole])
Parameters:

使用提供的painterpalette在指定的rectangle中绘制给定的text

文本使用画家的笔绘制,并根据指定的alignment进行对齐和换行。如果指定了显式的textRole,则使用palette中给定角色的颜色绘制文本。enabled参数指示项目是否启用;在重新实现此函数时,enabled参数应影响项目的绘制方式。

另请参阅

drawItemPixmap()

abstract drawPrimitive(pe, opt, p[, widget=None])
Parameters:

使用由option指定的样式选项,用提供的painter绘制给定的原始element

widget 参数是可选的,可能包含一个有助于绘制原始元素的小部件。

下表列出了原始元素及其相关的样式选项子类。样式选项包含绘制元素所需的所有参数,包括QStyleOption::state,它保存了绘制时使用的样式标志。该表还描述了将给定选项转换为适当子类时设置的标志。

请注意,如果此处未列出原始元素,则是因为它使用了普通的QStyleOption对象。

原始元素

QStyleOption 子类

样式标志

备注

PE_FrameFocusRect

QStyleOptionFocusRect

State_FocusAtBorder

焦点是否在边框或小部件内部。

PE_IndicatorCheckBox

QStyleOptionButton

State_NoChange

表示一个“三态”复选框。

State_On

表示指示器已选中。

PE_IndicatorRadioButton

QStyleOptionButton

State_On

表示单选按钮被选中。

State_NoChange

表示一个“三态”控制器。

State_Enabled

表示控制器已启用。

PE_IndicatorBranch

QStyleOption

State_Children

表示应绘制用于展开树以显示子项的控制。

State_Item

表示应绘制一个水平分支(以显示子项)。

State_Open

表示树分支已展开。

State_Sibling

表示应绘制一条垂直线(以显示同级项目)。

PE_IndicatorHeaderArrow

QStyleOptionHeader

State_UpArrow

表示箭头应向上绘制;否则应向下。

PE_FrameGroupBox , PE_Frame , PE_FrameLineEdit , PE_FrameMenu , PE_FrameDockWidget , PE_FrameWindow

QStyleOptionFrame

State_Sunken

表示该框架应该是凹陷的。

PE_IndicatorToolBarHandle

QStyleOption

State_Horizontal

表示窗口手柄是水平的而不是垂直的。

PE_IndicatorSpinPlus , PE_IndicatorSpinMinus , PE_IndicatorSpinUp , PE_IndicatorSpinDown ,

QStyleOptionSpinBox

State_Sunken

表示按钮被按下。

PE_PanelButtonCommand

QStyleOptionButton

State_Enabled

如果按钮启用,则设置。

State_HasFocus

如果按钮具有输入焦点,则设置。

State_Raised

如果按钮未按下、未开启且未平放,则设置。

State_On

如果按钮是切换按钮并且已切换为开启状态,则设置。

State_Sunken

设置按钮是否按下(即鼠标按钮或空格键在按钮上按下)。

abstract generatedIconPixmap(iconMode, pixmap, opt)
Parameters:
Return type:

QPixmap

返回给定pixmap的副本,样式化以符合指定的iconMode,并考虑由option指定的调色板。

option 参数可以传递额外信息,但它必须包含一个调色板。

请注意,并非所有的像素图都会符合要求,在这种情况下,返回的像素图将是一个普通的副本。

另请参阅

QIcon

abstract hitTestComplexControl(cc, opt, pt[, widget=None])
Parameters:
Return type:

SubControl

返回给定复杂control中指定position处的子控件(使用option指定的样式选项)。

请注意,position是以屏幕坐标表示的。

option 参数是一个指向 QStyleOptionComplex 对象(或其子类之一)的指针。可以使用 qstyleoption_cast() 函数将对象转换为适当的类型。详情请参见 drawComplexControl()widget 参数是可选的,可以包含函数的附加信息。

itemPixmapRect(r, flags, pixmap)
Parameters:
Return type:

QRect

返回给定的rectangle内根据定义的alignment绘制指定pixmap的区域。

itemTextRect(fm, r, flags, enabled, text)
Parameters:
Return type:

QRect

返回在给定的rectangle内绘制提供的text的区域,根据指定的字体metricsalignmentenabled参数指示相关项目是否启用。

如果给定的rectangle大于渲染text所需的区域,返回的矩形将根据指定的alignmentrectangle内偏移。例如,如果alignment是Qt::AlignCenter,返回的矩形将在rectangle内居中。如果给定的rectangle小于所需的区域,返回的矩形将是足够大以渲染text的最小矩形。

另请参阅

Alignment

abstract layoutSpacing(control1, control2, orientation[, option=None[, widget=None]])
Parameters:
Return type:

整数

返回在布局中control1control2之间应使用的间距。orientation指定控件是并排排列还是垂直堆叠。option参数可用于传递有关父小部件的额外信息。widget参数是可选的,如果optionNone,也可以使用。

此函数由布局系统调用。仅当PM_LayoutHorizontalSpacingPM_LayoutVerticalSpacing返回负值时使用。

name()
Return type:

字符串

返回样式的名称。

此值可用于通过create()创建样式。

另请参阅

create()

abstract pixelMetric(metric[, option=None[, widget=None]])
Parameters:
Return type:

整数

返回给定像素metric的值。

指定的optionwidget可用于计算度量。可以使用qstyleoption_cast()函数将option转换为适当的类型。请注意,即使对于可以利用它的PixelMetrics,option也可能为零。请参阅下表以了解适当的option转换:

一些像素指标是从小部件调用的,而另一些仅由样式内部调用。如果指标不是由小部件调用的,则由样式作者自行决定是否使用它。对于某些样式,这可能不合适。

polish(application)
Parameters:

应用程序QApplication

这是一个重载函数。

给定application对象的延迟初始化。

polish(palette)
Parameters:

调色板QPalette

这是一个重载函数。

根据样式特定的调色板要求(如果有的话)更改palette

另请参阅

setPalette()

polish(widget)
Parameters:

widgetQWidget

初始化给定widget的外观。

此函数在每个小部件完全创建后的某个时刻调用,但就在它首次显示之前

请注意,默认实现不执行任何操作。在此函数中合理的操作可能是为小部件调用QWidget::setBackgroundMode()函数。不要使用此函数来设置,例如,几何形状。重新实现此函数提供了一个后门,通过它可以更改小部件的外观,但在Qt的样式引擎中,很少需要实现此函数;请改为重新实现drawItemPixmap()drawItemText()drawPrimitive()等。

QWidget::inherits() 函数可能提供足够的信息来允许特定类的自定义。但由于新的 QStyle 子类预计将与所有当前和未来的小部件合理工作,建议有限使用硬编码的自定义。

另请参阅

unpolish()

proxy()
Return type:

QStyle

此函数返回此样式的当前代理。默认情况下,大多数样式将返回自身。然而,当使用代理样式时,它将允许样式回调到其代理。

abstract sizeFromContents(ct, opt, contentsSize[, w=None])
Parameters:
Return type:

QSize

返回由指定的optiontype描述的元素的大小,基于提供的contentsSize

option 参数是一个指向 QStyleOption 或其子类的指针。可以使用 qstyleoption_cast() 函数将 option 转换为适当的类型。widget 是一个可选参数,可以包含用于计算大小的额外信息。

请查看下表以了解适当的 option 转换:

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:
Return type:

QIcon

返回给定standardIcon的图标。

standardIcon 是一个标准的像素图,可以遵循一些现有的图形用户界面风格或指南。option 参数可用于传递定义适当图标时所需的额外信息。widget 参数是可选的,也可以用于帮助确定图标。

standardPalette()
Return type:

QPalette

返回样式的标准调色板。

请注意,在支持系统颜色的系统上,不使用样式的标准调色板。特别是,Windows Vista和Mac样式不使用标准调色板,而是利用本地主题引擎。对于这些样式,您不应使用setPalette()来设置调色板。

另请参阅

setPalette()

abstract standardPixmap(standardPixmap[, opt=None[, widget=None]])
Parameters:
Return type:

QPixmap

返回给定standardPixmap的像素图。

标准像素图是一种可以遵循某些现有GUI风格或指南的像素图。option参数可用于传递定义适当像素图时所需的额外信息。widget参数是可选的,也可以用于帮助确定像素图。

开发者调用standardPixmap()应该改为调用standardIcon()。重新实现standardPixmap()的开发者应该改为重新实现standardIcon()

另请参阅

standardIcon()

abstract styleHint(stylehint[, opt=None[, widget=None[, returnData=None]]])
Parameters:
Return type:

整数

返回一个整数,表示由提供的样式option描述的给定widget的指定样式hint

returnData 用于当查询小部件需要比 styleHint() 返回的整数更详细的数据时。详情请参见 QStyleHintReturn 类描述。

abstract subControlRect(cc, opt, sc[, widget=None])
Parameters:
Return type:

QRect

返回包含指定复杂control的特定subControl的矩形(由option指定的样式)。该矩形以屏幕坐标定义。

option 参数是一个指向 QStyleOptionComplex 或其子类的指针,可以使用 qstyleoption_cast() 函数将其转换为适当的类型。详情请参见 drawComplexControl()widget 是可选的,可以包含函数的附加信息。

另请参阅

drawComplexControl()

abstract subElementRect(subElement, option[, widget=None])
Parameters:
Return type:

QRect

返回给定element的子区域,如提供的样式option中所述。返回的矩形在屏幕坐标中定义。

widget 参数是可选的,可用于帮助确定区域。QStyleOption 对象可以使用 qstyleoption_cast() 函数转换为适当的类型。请参阅下表以获取适当的 option 转换:

unpolish(application)
Parameters:

应用程序QApplication

这是一个重载函数。

取消初始化给定的 application

unpolish(widget)
Parameters:

widgetQWidget

取消初始化给定widget的外观。

此函数是polish()的对应函数。每当样式动态更改时,它都会为每个经过修饰的小部件调用;在重新应用新样式之前,必须先取消之前的样式设置。

请注意,unpolish() 只有在小部件被销毁时才会被调用。这可能会导致一些问题,例如,如果您从用户界面中移除一个小部件,缓存它,然后在样式更改后重新插入它;Qt 的一些类会缓存它们的小部件。

另请参阅

polish()

static visualAlignment(direction, alignment)
Parameters:
Return type:

AlignmentFlag 的组合

根据布局方向,将Qt::AlignLeft或Qt::AlignRight(不包含Qt::AlignAbsolute)的对齐方式转换为包含Qt::AlignAbsolute的Qt::AlignLeft或Qt::AlignRight。其他对齐标志保持不变。

如果没有指定水平对齐方式,函数将返回给定布局direction的默认对齐方式。

layoutDirection

static visualPos(direction, boundingRect, logicalPos)
Parameters:
Return type:

QPoint

返回根据指定的direction将给定的logicalPosition转换为屏幕坐标。在执行转换时使用boundingRectangle

另请参阅

layoutDirection

static visualRect(direction, boundingRect, logicalRect)
Parameters:
Return type:

QRect

返回基于指定的direction将给定的logicalRectangle转换为屏幕坐标。在执行转换时使用boundingRectangle

此函数用于支持从右到左的桌面,通常用于实现subControlRect()函数。

另请参阅

layoutDirection