class QStyle#

QStyle 是一个抽象基类,封装了GUI的外观和感觉。 更多信息...

Inheritance diagram of PySide6.QtWidgets.QStyle

继承自: QCommonStyleQProxyStyle

概要#

方法#

虚拟方法#

静态函数 #

注释

本文档可能包含自动从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,用于绘图元素

  • 在它上面执行绘制操作的自定义小部件(可选)

例如,如果您想在小部件上绘制一个聚焦矩形,可以写:

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中描述。

class CustomStyle(QProxyStyle):

    Q_OBJECT
# public
    CustomStyle(QWidget widget)
    ~CustomStyle() {}
    def drawPrimitive(element, option,):
                       QPainter painter, QWidget widget) override

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)

spinBox = QSpinBox(widget)
if spinBox:            ...

警告

使用自定义样式#

在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类描述。您还可以在模型/视图编程中了解更多关于项目数据角色信息。

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

A QPushButton , draws CE_PushButtonBevel, CE_PushButtonLabel and PE_FrameFocusRect .

QStyle.CE_PushButtonBevel

The bevel and default indicator of a QPushButton .

QStyle.CE_PushButtonLabel

The label (an icon with text or pixmap) of a QPushButton .

QStyle.CE_DockWidgetTitle

浮动窗口标题。

QStyle.CE_Splitter

拆分器的手柄;也见 QSplitter .

QStyle.CE_CheckBox

A QCheckBox , draws a PE_IndicatorCheckBox , a CE_CheckBoxLabel and a 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

QLayout 的默认顶部外边距。

QStyle.PM_LayoutRightMargin

默认的 right margin 用于 QLayout .

QStyle.PM_LayoutBottomMargin

默认的 bottom margin 用于 QLayout .

QStyle.PM_LayoutHorizontalSpacing

默认的 horizontal spacing 用于 QLayout .

QStyle.PM_LayoutVerticalSpacing

默认的 vertical spacing 用于 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_TableGridLineColor

表格网格的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中的标准按钮是否应有图标。

QStyle.SH_ItemView_MovementWithoutUpdatingSelection

项目视图可以在不更改选择的情况下指示当前项。

QStyle.SH_ToolTip_Mask

工具提示的掩码。

QStyle.SH_FocusFrame_AboveWidget

聚焦框架堆叠在“聚焦”的窗口之上。

QStyle.SH_TextControl_FocusIndicatorTextCharFormat

指定用于突出显示在例如 QTextBrowser 显示的富文本文档中聚焦锚点的文本格式。格式必须是 QStyleHintReturnVariant 返回值的 variant 形式的 QTextCharFormat。使用 QTextFormat::OutlinePen 属性用于突出显示区域的轮廓,使用 QTextFormat::BackgroundBrush 用于突出显示区域的背景。

QStyle.SH_Menu_FlashTriggeredItem

闪动触发项。

QStyle.SH_Menu_FadeOutOnHide

渐隐菜单而不是立即隐藏。

QStyle.SH_TabWidget_DefaultTabPosition

Tab控件中标签栏的默认位置。

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

标准 Yes 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_DialogNoButton

标准 No 按钮图标,位于 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

标准 YesToAll 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_DialogNoToAllButton

标准 NoToAll 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_DialogSaveAllButton

标准 SaveAll 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_DialogAbortButton

标准 Abort 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_DialogRetryButton

标准 Retry 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_DialogIgnoreButton

标准 Ignore 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_RestoreDefaultsButton

标准 RestoreDefaults 按钮图标,位于 QDialogButtonBox 中。

QStyle.SP_TabCloseButton

QTabBar 选项卡中的关闭按钮图标。

QStyle.SP_CustomBase

自定义标准光标的基值;自定义值必须大于此值。

另请参阅

standardIcon()

__init__()#

构建一个样式对象。

static alignedRect(direction, alignment, size, rectangle)#
参数:
返回类型:

QRect

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

combinedLayoutSpacing(controls1, controls2, orientation[, option=None[, widget=None]])#
参数:
返回类型:

int

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

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

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

另请参阅

layoutSpacing()

抽象 drawComplexControl(cc, opt, p[, widget=None])#
参数:

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

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

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

下表列出了复杂控件及其相关的样式选项子类。样式选项包含绘制控件所需的所有参数,包括 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])#
参数:

使用由 option 指定的样式选项绘制给定的 element

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

下面的表格列出了控件及其关联的样式选项子类。样式选项包含绘制控件所需的所有参数,包括 QStyleOption::state,它包含用于绘图时的样式标志。表格还描述了将给定选项转换为适当子类时设置的标志。

请注意,如果一个控件没有在这里列出,那是因为它使用了一个普通的 QStyleOption 对象。

控件元素

QStyleOption 子类

样式标志

备注

CE_MenuItemCE_MenuBarItem

QStyleOptionMenuItem

State_Selected

菜单项当前被选中。

State_Enabled

项目处于启用状态。

State_DownArrow

表示应绘制向下的滚动箭头。

State_UpArrow

表示应绘制向上的滚动箭头。

State_HasFocus

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

CE_PushButtonCE_PushButtonBevelCE_PushButtonLabel

QStyleOptionButton

State_Enabled

设置如果按钮处于启用状态。

State_HasFocus

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

State_Raised

设置如果按钮不是按下、活动或平坦的。

State_On

设置如果按钮是切换按钮并且被切换开。

State_Sunken

设置如果按钮被按下(即,在按钮上按下鼠标按钮或空格栏)。

CE_RadioButtonCE_RadioButtonLabelCE_CheckBoxCE_CheckBoxLabel

QStyleOptionButton

State_Enabled

设置如果按钮处于启用状态。

State_HasFocus

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

State_On

设置如果按钮被选中。

State_Off

设置如果按钮未被选中。

State_NoChange

设置如果按钮处于NoChange状态。

State_Sunken

设置如果按钮被按下(即,在按钮上按下鼠标按钮或空格栏)。

CE_ProgressBarContentsCE_ProgressBarLabelCE_ProgressBarGroove

QStyleOptionProgressBar

State_Enabled

设置如果进度条处于启用状态。

State_HasFocus

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

CE_HeaderCE_HeaderSectionCE_HeaderLabel

QStyleOptionHeader

CE_TabBarTabCE_TabBarTabShapeCE_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)#
参数:

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

另请参阅

drawItemText()

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

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

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

另请参阅

drawItemPixmap()

抽象 drawPrimitive(pe, opt, p[, widget=None])#
参数:

使用通过 option 指定的样式选项,使用提供的 painter 绘制给定的 primitive 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_FrameGroupBoxPE_FramePE_FrameLineEditPE_FrameMenuPE_FrameDockWidgetPE_FrameWindow

QStyleOptionFrame

State_Sunken

表示该框架应凹陷。

PE_IndicatorToolBarHandle

QStyleOption

水平

表示窗口句柄为水平而非垂直。

PE_IndicatorSpinPlusPE_IndicatorSpinMinusPE_IndicatorSpinUpPE_IndicatorSpinDown

QStyleOptionSpinBox

State_Sunken

表示按钮被按下。

PE_PanelButtonCommand

QStyleOptionButton

State_Enabled

设置如果按钮处于启用状态。

State_HasFocus

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

State_Raised

设置如果按钮不是按下、活动或平坦的。

State_On

设置如果按钮是切换按钮并且被切换开。

State_Sunken

设置如果按钮被按下(即,在按钮上按下鼠标按钮或空格栏)。

abstract generatedIconPixmap(iconMode, pixmap, opt)#
参数:
返回类型:

QPixmap

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

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

请注意,并非所有位图都将符合要求,在这种情况下,返回的位图是一个纯拷贝。

另请参阅

QIcon

abstract hitTestComplexControl(cc, opt, pt[, widget=None])#
参数:
返回类型:

子控件

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

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

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

itemPixmapRect(r, flags, pixmap)#
参数:
返回类型:

QRect

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

itemTextRect(fm, r, flags, enabled, text)#
参数:
返回类型:

QRect

返回在给定rectangle内部绘制提供的text的区域,根据指定的字体metrics和对齐方式alignment。参数enabled指示相关项是否启用。

如果给定的rectangle大于渲染text所需区域,返回的矩形将根据指定的对齐方式在rectangle内偏移。例如,如果对齐方式是Qt::AlignCenter,则返回的矩形将位于rectangle的中央。如果给定的rectangle小于渲染所需的区域,则返回的矩形将是渲染text所需的最小矩形。

另请参阅

对齐方式

摘要 layoutSpacing(control1, control2, orientation[, option=None[, widget=None]])#
参数:
返回类型:

int

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

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

name()#
返回类型:

str

返回样式的名称。

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

另请参阅

create()

摘要 pixelMetric(metric[, option=None[, widget=None]])#
参数:
返回类型:

int

返回给定像素metric的值。

可以使用指定的optionwidget来计算该指标。《option》可以采用要使用它的适当的类型使用《qstyleoption_cast()`函数》。注意,即使是对于那些可以使用其值的《PixelMetrics》,“option”可能为零。以下是正确的《option》强制类型表

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

polish(widget)#
参数:

widgetQWidget

初始化给定 widget 的外观。

在创建完全完成后,但在第一次显示之前,该函数会针对每个 widget 调用一次。

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

QWidget::inherits() 函数可能提供足够的信息来允许针对特定类的定制。但由于期望所有当前和 未来的 widget 都可以与新 QStyle 子类合理工作,因此建议仅有限地使用硬编码的定制。

另请参阅

unpolish()

polish(palette)
参数:

paletteQPalette

这是一个重载函数。

根据样式对颜色调色板的需求(如果有的话)更改调色板。

另请参阅

setPalette()

polish(application)
参数:

applicationQApplication

这是一个重载函数。

给予的 application 对象的晚期初始化。

proxy()#
返回类型:

QStyle

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

抽象 sizeFromContents(ct, opt, contentsSize, w=None)#
参数:
返回类型:

QSize

返回由指定的 optiontype 以及提供的 contentsSize 描述的元素的大小。

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

请参阅下面的表格以获取合适的 option 转换

static sliderPositionFromValue(min, max, val, space[, upsideDown=false])#
参数:
  • min – 整数

  • max – 整数

  • val – 整数

  • space – 整数

  • upsideDown – 布尔值

返回类型:

int

将给定的 logicalValue 转换为像素位置。 min 参数映射到 0,max 映射到 span,其他值在之间均匀分布。

此函数可以处理整个整数范围(无溢出),条件是 span 小于 4096。

默认情况下,此函数假设对于水平项最大值位于右侧,而对于垂直项最大值位于底部。将 upsideDown 参数设置为 true 可反转此行为。

static sliderValueFromPosition(min, max, pos, space[, upsideDown=false])#
参数:
  • min – 整数

  • max – 整数

  • pos – 整数

  • space – 整数

  • upsideDown – 布尔值

返回类型:

int

将给定的像素位置转换为逻辑值。0映射到最小参数,span映射到最大,其它值在中间均匀分布。

此函数可以处理整个整数范围而不会溢出。

默认情况下,此函数假设对于水平项最大值位于右侧,而对于垂直项最大值位于底部。将 upsideDown 参数设置为 true 可反转此行为。

抽象 standardIcon(standardIcon[, option=None[, widget=None]])#
参数:
返回类型:

QIcon

返回给定standardIcon的图标。

standardIcon是一个标准的位图,可以遵循一些已存在的GUI风格或指南。可以使用option参数传递在定义适当图标时所需额外信息。widget参数是可选的,也可以用来辅助确定图标。

standardPalette()#
返回类型:

QPalette

返回风格的默认调色板。

请注意,在支持系统颜色的系统上,不会使用风格的默认调色板。特别是,Windows Vista和Mac风格不使用默认调色板,而是使用原生的主题引擎。使用这些风格时,请勿使用setPalette()来设置调色板。

另请参阅

setPalette()

抽象 standardPixmap(standardPixmap[, opt=None[, widget=None]])#
参数:
返回类型:

QPixmap

返回给定standardPixmap的位图。

标准的位图是遵循某些现有GUI风格或指南的位图。可以使用option参数传递在定义适当位图时所需额外信息。widget参数是可选的,也可以用来辅助确定位图。

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

另请参阅

standardIcon()

抽象 styleHint(stylehint[, opt=None[, widget=None[, returnData=None]]]])#
参数:
返回类型:

int

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

当查询的 widget 需要查询比 styleHint() 返回的整数更详细的数据时,使用 returnData。有关详情,请参阅 QStyleHintReturn 类的描述。

抽象 subControlRect(cc, opt, sc[, widget=None])#
参数:
返回类型:

QRect

返回包含给定 subControl 的复合 control(由 option 指定的样式)的矩形。该矩形在屏幕坐标中定义。

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

另请参阅

drawComplexControl()

抽象 subElementRect(subElement, option[, widget=None])#
参数:
返回类型:

QRect

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

参数widget是可选的,可以用来帮助确定区域。可以使用qstyleoption_cast()函数将QStyleOption对象转换成适当类型。下表列出了适当的option转换

unpolish(application)#
参数:

applicationQApplication

这是一个重载函数。

取消初始化指定的application

unpolish(widget)
参数:

widgetQWidget

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

这个函数是polish()的对应函数。每当样式被动态更改时,都会为每个磨光的控件调用它;旧样式必须在新的样式再次磨光其设置之前取消磨光其设置。

注意,unpolish()只有在控件被销毁时才会调用。在某些情况下,这可能会引发问题,例如,如果您从UI中删除一个控件,将其缓存起来,然后在样式更改后重新插入它;Qt的一些类会缓存其控件。

另请参阅

polish()

static visualAlignment(direction, alignment)#
参数:
返回类型:

AlignmentFlag的组合

根据布局方向将Qt::AlignLeft或Qt::AlignRight的alignment转换为Qt::AlignLeft或Qt::AlignRight,而没有Qt::AlignAbsolute。其他对齐标志保持不变。

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

layoutDirection

static visualPos(direction, boundingRect, logicalPos)#
参数:
返回类型:

QPoint

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

另请参阅

layoutDirection

静态 visualRect(direction, boundingRect, logicalRect)#
参数:
返回类型:

QRect

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

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

另请参阅

layoutDirection