- class QStyle#
类
QStyle
是一个抽象基类,封装了GUI的外观和感觉。 更多信息...继承自:
QCommonStyle
,QProxyStyle
概要#
方法#
def
__init__()
def
name()
def
proxy()
虚拟方法#
def
drawControl()
def
drawItemPixmap()
def
drawItemText()
def
drawPrimitive()
def
itemPixmapRect()
def
itemTextRect()
def
layoutSpacing()
def
pixelMetric()
def
polish()
def
standardIcon()
def
standardPixmap()
def
styleHint()
def
subControlRect()
def
subElementRect()
def
unpolish()
静态函数 #
def
alignedRect()
def
visualPos()
def
visualRect()
注释
本文档可能包含自动从C++转换为Python的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们
详细描述#
警告
本节包含自动从C++转换为Python的片段,可能包含错误。
Qt包含一组
QStyle
子类,用于模拟Qt支持的不同平台样式(QWindowsStyle、QMacStyle等)。默认情况下,这些样式已经集成到Qt GUI模块中。样式也可以作为插件提供。Qt的内置小部件使用
QStyle
执行几乎所有绘图操作,以确保它们与等效的本机小部件外观一致。下面的图表显示了九种不同样式的QComboBox
主题
设置样式#
可以使用
setStyle()
函数设置整个应用程序的样式。它还可以由应用程序的用户通过使用-style
命令行选项指定。./myapplication -style windows
如果没有指定样式,Qt将选择用户平台或桌面环境最适合的样式。
也可以使用
setStyle()
函数为单独的小部件设置样式。开发感知样式的自定义小部件#
如果您正在开发自定义小部件并且希望它们在所有平台上都具有良好的外观,您可以使用
QStyle
函数来执行部分小部件绘图,例如drawItemText()
、drawItemPixmap()
、drawPrimitive()
、drawControl()
和drawComplexControl()
。大多数
QStyle
绘图函数接受四个参数:一个枚举值,指定要绘制的图形元素
一个
QStyleOption
,指定如何以及在哪里渲染该元素一个QPainter,用于绘图元素
在它上面执行绘制操作的自定义小部件(可选)
例如,如果您想在小部件上绘制一个聚焦矩形,可以写:
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()。在使样式在从右到左环境中良好工作时,请注意以下几点:
subControlRect()
和subElementRect()
以屏幕坐标返回矩形QStyleOption::direction表示应在哪个方向绘制项
如果样式没有从右到左的意识,它将像左到右一样显示项
visualRect()
,visualPos()
,和visualAlignment()
是帮助函数,它们将逻辑表示转换为屏幕表示。alignedRect()
将返回当前方向的逻辑矩形
项视图中的样式#
视图中的项目绘画是通过代理实现的。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
负责绘制项目的背景,并且在QCommonStyle
对CE_ItemViewItem
的实现中被调用。为了支持绘制新的数据类型和项目数据角色,有必要创建一个自定义代理。但是,如果您只需支持默认代理实现的数据类型,则不需要伴随的自定义代理。有关自定义代理的更多信息,请参阅
QStyledItemDelegate
类描述。样式也同样负责绘制项视图的头,从而控件头元素以及行和列的大小。
- class StateFlag#
(继承自
enum.Flag
) 此枚举描述在绘制原始元素时使用的标志。请注意,并非所有的原始元素都使用所有这些标志,并且标志对于不同的项目可能有不同的含义。
常量
描述
QStyle.State_None
表示小部件没有状态。
QStyle.State_Active
表示小部件是激活的。
QStyle.State_AutoRaise
用于表示是否应该在工具按钮上使用自动弹出外观。
QStyle.State_Children
用于表示一个项目视图分支是否有子项。
QStyle.State_DownArrow
用于表示是否应该在小部件上显示向下箭头。
QStyle.State_Editing
用于表示是否在控件上打开了编辑器。
QStyle.State_Enabled
用于表示控件是否可用。
QStyle.State_HasEditFocus
用于表示控件当前是否具有编辑焦点。
QStyle.State_HasFocus
用于表示控件是否具有焦点。
QStyle.State_Horizontal
用于表示控件是否水平排列,例如工具栏。
QStyle.State_KeyboardFocusChange
用于表示是否使用键盘更改了焦点,例如使用tab键、backtab或快捷键。
QStyle.State_MouseOver
用于表示控件是否位于鼠标下。
QStyle.State_NoChange
用于表示三态复选框。
QStyle.State_Off
用于表示控件未选中。
QStyle.State_On
用于表示控件被选中。
QStyle.State_Raised
用于表示按钮是否被提升。
QStyle.State_ReadOnly
用于表示控件是否为只读。
QStyle.State_Selected
用于表示控件是否被选中。
QStyle.State_Item
由项目视图用于表示是否应该绘制水平分支。
QStyle.State_Open
由项目视图用于表示树分支是否打开。
QStyle.State_Sibling
由项目视图用于表示是否需要绘制垂直线(对于兄弟元素)。
QStyle.State_Sunken
用于表示控件是否凹陷或按下。
QStyle.State_UpArrow
用于表示是否应该在控件上显示向上箭头。
QStyle.State_Mini
用于表示小型样式Mac小部件或按钮。
QStyle.State_Small
用于表示小型样式Mac小部件或按钮。
另请参阅
- class PrimitiveElement#
(继承自
enum.IntEnum
) 此枚举描述了各种基本元素。基本元素是常见的GUI元素,例如复选框指示器或按钮浮雕。常量
描述
QStyle.PE_PanelButtonCommand
用于启动操作的按钮,例如,一个
QPushButton
。QStyle.PE_FrameDefaultButton
默认按钮周围的框架,例如在对话框中。
QStyle.PE_PanelButtonBevel
带按钮浮雕的通用面板。
QStyle.PE_PanelButtonTool
用于工具按钮的面板,与
QToolButton
一起使用。QStyle.PE_PanelLineEdit
QLineEdit
的面板。QStyle.PE_IndicatorButtonDropDown
下拉按钮的指示器,例如显示菜单的工具按钮。
QStyle.PE_FrameFocusRect
通用的焦点指示器。
QStyle.PE_IndicatorArrowUp
通用的向上箭头。
QStyle.PE_IndicatorArrowDown
通用的向下箭头。
QStyle.PE_IndicatorArrowRight
通用的向右箭头。
QStyle.PE_IndicatorArrowLeft
通用的向左箭头。
QStyle.PE_IndicatorSpinUp
旋转控件的上箭头符号,例如一个
QSpinBox
。QStyle.PE_IndicatorSpinDown
旋转控件的下箭头符号。
QStyle.PE_IndicatorSpinPlus
旋转控件的增加符号。
QStyle.PE_IndicatorSpinMinus
旋转控件的增加符号。
QStyle.PE_IndicatorItemViewItemCheck
视图项的开关指示器。
QStyle.PE_IndicatorCheckBox
开关指示器,例如一个
QCheckBox
。QStyle.PE_IndicatorRadioButton
独占开关指示器,例如一个
QRadioButton
。QStyle.PE_IndicatorDockWidgetResizeHandle
浮动窗口的调整大小手柄。
QStyle.PE_Frame
通用框架。
QStyle.PE_FrameMenu
弹出窗口菜单的框架;另请参阅
QMenu
。QStyle.PE_PanelMenuBar
菜单栏的面板。
QStyle.PE_PanelScrollAreaCorner
滚动区域右下角(或左下角)的面板。
QStyle.PE_FrameDockWidget
浮动窗口和工具栏的面板框架。
QStyle.PE_FrameTabWidget
标签控件框架。
QStyle.PE_FrameLineEdit
线编辑的面板框架。
QStyle.PE_FrameGroupBox
分组框周围的框架。
QStyle.PE_FrameButtonBevel
按钮浮雕的面板框架。
QStyle.PE_FrameButtonTool
工具按钮的框架。
QStyle.PE_IndicatorHeaderArrow
用于在列表或表头中指示排序的箭头。
QStyle.PE_FrameStatusBarItem
状态栏项的框架;另请参阅
QStatusBar
。QStyle.PE_FrameWindow
MDI窗口或浮动窗口周围的框架。
QStyle.PE_IndicatorMenuCheckMark
菜单用的复选标记。
QStyle.PE_IndicatorProgressChunk
进度条指示器的一部分;另请参阅
QProgressBar
。QStyle.PE_IndicatorBranch
用于在树视图中表示树分支的线条。
QStyle.PE_IndicatorToolBarHandle
工具栏的手柄。
QStyle.PE_IndicatorToolBarSeparator
工具栏中的分隔符。
QStyle.PE_PanelToolBar
工具栏的面板。
QStyle.PE_PanelTipLabel
提示标签的面板。
QStyle.PE_FrameTabBarBase
为标签栏绘制的框架,通常用于不属于标签小部件的标签栏。
QStyle.PE_IndicatorTabTear
已弃用。请使用 PE_IndicatorTabTearLeft。
QStyle.PE_IndicatorTabTearLeft
一个指示器,表示当有多个标签时,标签左侧部分已滚动到可见标签栏的左侧。
QStyle.PE_IndicatorTabTearRight
一个指示器,表示当有多个标签时,标签右侧部分已滚动到可见标签栏的右侧。
QStyle.PE_IndicatorColumnViewArrow
在
QColumnView
中的箭头。QStyle.PE_Widget
一个普通的
QWidget
。QStyle.PE_CustomBase
自定义原语元素的基值。此值之上的所有值都保留供自定义使用。自定义值必须大于此值。
QStyle.PE_IndicatorItemViewItemDrop
表示在项目视图中,在进行拖放操作即将放置项目的地方绘制的一个指示器。
QStyle.PE_PanelItemViewItem
项目视图中等项目背景。
QStyle.PE_PanelItemViewRow
项目视图中行背景。
QStyle.PE_PanelStatusBar
状态栏的面板。
QStyle.PE_IndicatorTabClose
标签栏上的关闭按钮。
QStyle.PE_PanelMenu
菜单的面板。
另请参阅
- class ControlElement#
(继承自
enum.IntEnum
) 此枚举表示控件元素。控件元素是执行某些操作或向用户显示信息的小部件的一部分。常量
描述
QStyle.CE_PushButton
A
QPushButton
, draws CE_PushButtonBevel, CE_PushButtonLabel andPE_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 aPE_IndicatorCheckBox
, a CE_CheckBoxLabel and aPE_FrameFocusRect
.QStyle.CE_CheckBoxLabel
QCheckBox(复选框)的标签(文本或像素图)。
QStyle.CE_RadioButton
一个
QRadioButton
绘制一个PE_IndicatorRadioButton
,一个 CE_RadioButtonLabel 和一个PE_FrameFocusRect
。QStyle.CE_RadioButtonLabel
QRadioButton(单选按钮)的标签(文本或像素图)。
QStyle.CE_TabBarTab
QTabBar(标签栏)中的标签和内容。
QStyle.CE_TabBarTabShape
标签栏中的标签形状。
QStyle.CE_TabBarTabLabel
标签内的标签。
QStyle.CE_ProgressBar
一个
QProgressBar
绘制 CE_ProgressBarGroove,CE_ProgressBarContents 和 CE_ProgressBarLabel。QStyle.CE_ProgressBarGroove
在 QProgressBar 中绘制进度指示器的凹槽。
QStyle.CE_ProgressBarContents
QProgressBar 的进度指示器。
QStyle.CE_ProgressBarLabel
QProgressBar 的文本标签。
QStyle.CE_ToolButtonLabel
工具按钮的标签。
QStyle.CE_MenuBarItem
QMenuBar(菜单栏)中的菜单项。
QStyle.CE_MenuBarEmptyArea
QMenuBar 中的空白区域。
QStyle.CE_MenuItem
QMenu(菜单)中的菜单项。
QStyle.CE_MenuScroller
当样式支持滚动时,QMenu 中的滚动区域。
QStyle.CE_MenuTearoff
代表 QMenu 撕离部分的菜单项。
QStyle.CE_MenuEmptyArea
菜单中无菜单项的区域。
QStyle.CE_MenuHMargin
菜单左侧和右侧的水平额外空间。
QStyle.CE_MenuVMargin
菜单顶部和底部的垂直额外空间。
QStyle.CE_ToolBoxTab
QToolBox(工具箱)中的工具箱标签和标签。
QStyle.CE_SizeGrip
窗口大小调整手柄;另见
QSizeGrip
。QStyle.CE_Header
页眉。
QStyle.CE_HeaderSection
标题部分。
QStyle.CE_HeaderLabel
标题的标签。
QStyle.CE_ScrollBarAddLine
滚动条行增加指示器。(例如,向下滚动);参见
QScrollBar
。QStyle.CE_ScrollBarSubLine
滚动条行减少指示器(例如,向上滚动)。
QStyle.CE_ScrollBarAddPage
滚动条页面增加指示器(例如,向下翻页)。
QStyle.CE_ScrollBarSubPage
滚动条页面减少指示器(例如,向上翻页)。
QStyle.CE_ScrollBarSlider
滚动条滑块。
QStyle.CE_ScrollBarFirst
滚动条第一行指示器(例如,主页)。
QStyle.CE_ScrollBarLast
滚动条最后一行指示器(例如,结束)。
QStyle.CE_RubberBand
在例如图标视图中使用的橡皮筋。
QStyle.CE_FocusFrame
由样式控制的焦点框。
QStyle.CE_ItemViewItem
项目视图中的项。
QStyle.CE_CustomBase
自定义控件元素的基值;自定义值必须大于此值。
QStyle.CE_ComboBoxLabel
不可编辑的
QComboBox
的标签。QStyle.CE_ToolBar
如
QToolBar
一样的工具栏。QStyle.CE_ToolBoxTabShape
工具箱的标签形状。
QStyle.CE_ToolBoxTabLabel
工具箱的标签。
QStyle.CE_HeaderEmptyArea
没有标题部分的标题视图区域。
QStyle.CE_ShapedFrame
在
QStyleOptionFrame
中指定形状的框架;参见QFrame
。另请参阅
- class SubElement#
(继承自
enum.IntEnum
) 此枚举代表小部件的一个子区域。样式实现使用这些区域来绘制小部件的不同部分。常量
描述
QStyle.SE_PushButtonContents
包含标签的区域(图标带文本或位图)。
QStyle.SE_PushButtonFocusRect
焦点矩形的区域(通常大于内容矩形)。
QStyle.SE_PushButtonLayoutItem
对父布局起作用的区域。
QStyle.SE_PushButtonBevel
[自 5.15 起使用] 用于按钮倾斜的区域。
QStyle.SE_CheckBoxIndicator
状态指示器的区域(例如,检查标记)。
QStyle.SE_CheckBoxContents
标签区域(文本或位图)。
QStyle.SE_CheckBoxFocusRect
焦点指示器的区域。
QStyle.SE_CheckBoxClickRect
可点击区域,默认为 SE_CheckBoxFocusRect。
QStyle.SE_CheckBoxLayoutItem
对父布局起作用的区域。
QStyle.SE_DateTimeEditLayoutItem
对父布局起作用的区域。
QStyle.SE_RadioButtonIndicator
状态指示器的区域。
QStyle.SE_RadioButtonContents
标签区域。
QStyle.SE_RadioButtonFocusRect
焦点指示器的区域。
QStyle.SE_RadioButtonClickRect
可点击区域,默认为 SE_RadioButtonFocusRect。
QStyle.SE_RadioButtonLayoutItem
对父布局起作用的区域。
QStyle.SE_ComboBoxFocusRect
焦点指示器的区域。
QStyle.SE_SliderFocusRect
焦点指示器的区域。
QStyle.SE_SliderLayoutItem
对父布局起作用的区域。
QStyle.SE_SpinBoxLayoutItem
对父布局起作用的区域。
QStyle.SE_ProgressBarGroove
凹槽区域。
QStyle.SE_ProgressBarContents
进度指示器区域。
QStyle.SE_ProgressBarLabel
文本标签区域。
QStyle.SE_ProgressBarLayoutItem
对父布局起作用的区域。
QStyle.SE_FrameContents
框架内容的区域。
QStyle.SE_ShapedFrameContents
使用
QStyleOptionFrame
中的形状的框架内容的区域;参见QFrame
QStyle.SE_FrameLayoutItem
对父布局起作用的区域。
QStyle.SE_HeaderArrow
头部排序指示符的区域。
QStyle.SE_HeaderLabel
头部标签的区域。
QStyle.SE_LabelLayoutItem
对父布局起作用的区域。
QStyle.SE_LineEditContents
行编辑内容区域。
QStyle.SE_TabWidgetLeftCorner
标签控件左侧角组件的区域。
QStyle.SE_TabWidgetRightCorner
标签控件右侧角组件的区域。
QStyle.SE_TabWidgetTabBar
标签控件标签栏组件的区域。
QStyle.SE_TabWidgetTabContents
标签控件内容区域。
QStyle.SE_TabWidgetTabPane
标签控件的面板区域。
QStyle.SE_TabWidgetLayoutItem
对父布局起作用的区域。
QStyle.SE_ToolBoxTabContents
工具箱标签的图标和标签区域。
QStyle.SE_ToolButtonLayoutItem
对父布局起作用的区域。
QStyle.SE_ItemViewItemCheckIndicator
视图项的复选标记区域。
QStyle.SE_TabBarTearIndicator
已废弃。请使用SE_TabBarTearIndicatorLeft。
QStyle.SE_TabBarTearIndicatorLeft
带有滚动箭头的标签栏左侧撕裂指示符区域。
QStyle.SE_TabBarTearIndicatorRight
带有滚动箭头的标签栏右侧撕裂指示符区域。
QStyle.SE_TabBarScrollLeftButton
带有滚动按钮的标签栏滚动左按钮区域。
QStyle.SE_TabBarScrollRightButton
带有滚动按钮的标签栏滚动右按钮区域。
QStyle.SE_TreeViewDisclosureItem
树分支中实际折叠项的区域。
QStyle.SE_GroupBoxLayoutItem
对父布局起作用的区域。
QStyle.SE_CustomBase
自定义子元素的基数。自定义值必须大于此值。
QStyle.SE_DockWidgetFloatButton
浮动窗口的小部件按钮。
QStyle.SE_DockWidgetTitleBarText
浮动窗口标题的文本边界。
QStyle.SE_DockWidgetCloseButton
浮动窗口的关闭按钮。
QStyle.SE_DockWidgetIcon
浮动窗口的图标。
QStyle.SE_ComboBoxLayoutItem
对父布局起作用的区域。
QStyle.SE_ItemViewItemDecoration
视图项装饰(图标)区域。
QStyle.SE_ItemViewItemText
视图项文本区域。
QStyle.SE_ItemViewItemFocusRect
视图项焦点矩形区域。
QStyle.SE_TabBarTabLeftButton
标签栏中标签左侧的组件区域。
QStyle.SE_TabBarTabRightButton
标签栏中标签右侧的组件区域。
QStyle.SE_TabBarTabText
标签栏中标签的文本区域。
QStyle.SE_ToolBarHandle
工具栏手柄区域。
另请参阅
- class ComplexControl#
(继承自
enum.IntEnum
) 此枚举描述了可用的复杂控件。复杂控件的行为会根据用户点击的位置或按下的键而不同。常量
描述
QStyle.CC_SpinBox
与
QSpinBox
相同的微调框。QStyle.CC_ComboBox
与
QComboBox
相同的下拉组合框。QStyle.CC_ScrollBar
滚动条,类似于
QScrollBar
。QStyle.CC_Slider
滑动条,类似于
QSlider
。QStyle.CC_ToolButton
工具按钮,类似于
QToolButton
。QStyle.CC_TitleBar
标题栏,类似于在
QMdiSubWindow
中使用的。QStyle.CC_GroupBox
分组框,类似于
QGroupBox
。QStyle.CC_Dial
转盘,类似于
QDial
。QStyle.CC_MdiControls
最大化MDI子窗口菜单栏中的最小化、关闭和正常按钮。
QStyle.CC_CustomBase
自定义复杂控制的基础值。自定义值必须大于此值。
- class SubControl#
(继承自
enum.Flag
) 此枚举描述了可用的子控制。子控制是复杂控制(ComplexControl
)内的控件元素。常量
描述
QStyle.SC_None
没有匹配其他子控制的特殊值。
QStyle.SC_ScrollBarAddLine
滚动条添加行(即向下/向右箭头);也参见
QScrollBar
。QStyle.SC_ScrollBarSubLine
滚动条减线(即向上/向左箭头)。
QStyle.SC_ScrollBarAddPage
滚动条添加页(即向下翻页)。
QStyle.SC_ScrollBarSubPage
滚动条减页(即向上翻页)。
QStyle.SC_ScrollBarFirst
滚动条第一行(即主页)。
QStyle.SC_ScrollBarLast
滚动条最后一行(即结束)。
QStyle.SC_ScrollBarSlider
滚动条滑块句柄。
QStyle.SC_ScrollBarGroove
特殊子控制,其中包含滑块句柄可以移动的区域。
QStyle.SC_SpinBoxUp
增量旋转小部件;也参见
QSpinBox
。QStyle.SC_SpinBoxDown
减量旋转小部件。
QStyle.SC_SpinBoxFrame
旋转小部件框架。
QStyle.SC_SpinBoxEditField
旋转小部件编辑字段。
QStyle.SC_ComboBoxEditField
组合框编辑字段;也参见
QComboBox
。QStyle.SC_ComboBoxArrow
组合框箭头按钮。
QStyle.SC_ComboBoxFrame
组合框框架。
QStyle.SC_ComboBoxListBoxPopup
组合框弹出窗口的参考矩形。用于计算弹出窗口的位置。
QStyle.SC_SliderGroove
特殊子控制,其中包含滑块句柄可以移动的区域。
QStyle.SC_SliderHandle
滑动条句柄。
QStyle.SC_SliderTickmarks
滑动条刻度。
QStyle.SC_ToolButton
工具按钮(参见
QToolButton
)。QStyle.SC_ToolButtonMenu
工具按钮中打开弹出菜单的子控件。
QStyle.SC_TitleBarSysMenu
系统菜单按钮(即恢复、关闭等)。
QStyle.SC_TitleBarMinButton
最小化按钮。
QStyle.SC_TitleBarMaxButton
最大化按钮。
QStyle.SC_TitleBarCloseButton
关闭按钮。
QStyle.SC_TitleBarLabel
窗口标题标签。
QStyle.SC_TitleBarNormalButton
正常(恢复)按钮。
QStyle.SC_TitleBarShadeButton
阴影按钮。
QStyle.SC_TitleBarUnshadeButton
非阴影按钮。
QStyle.SC_TitleBarContextHelpButton
上下文帮助按钮。
QStyle.SC_DialHandle
旋钮的柄,即用来控制旋钮的内容。
QStyle.SC_DialGroove
旋钮的槽。
QStyle.SC_DialTickmarks
旋钮的刻度。
QStyle.SC_GroupBoxFrame
分组框的框架。
QStyle.SC_GroupBoxLabel
分组框的标题。
QStyle.SC_GroupBoxCheckBox
分组框的可选复选框。
QStyle.SC_GroupBoxContents
分组框的内容。
QStyle.SC_MdiNormalButton
MDI子窗口在菜单栏中的正常按钮。
QStyle.SC_MdiMinButton
MDI子窗口在菜单栏中的最小化按钮。
QStyle.SC_MdiCloseButton
MDI子窗口在菜单栏中的关闭按钮。
QStyle.SC_All
匹配所有子控件的特殊值。
另请参阅
- class PixelMetric#
(继承自
enum.IntEnum
) 此枚举描述了各种可用的像素度量。像素度量是由单个像素值表示的样式相关的大小。常量
描述
QStyle.PM_ButtonMargin
推按钮标签与框架之间的空白。
QStyle.PM_DockWidgetTitleBarButtonMargin
坞窗口标题栏按钮标签与框架之间的空白。
QStyle.PM_ButtonDefaultIndicator
默认按钮指示框架的宽度。
QStyle.PM_MenuButtonIndicator
菜单按钮指示器的宽度与窗口高度成比例。
QStyle.PM_ButtonShiftHorizontal
按钮按下时按钮的水平内容移动。
QStyle.PM_ButtonShiftVertical
按钮按下时按钮的垂直内容移动。
QStyle.PM_DefaultFrameWidth
默认框架宽度(通常是2)。
QStyle.PM_SpinBoxFrameWidth
微调框的框架宽度,默认为PM_DefaultFrameWidth。
QStyle.PM_ComboBoxFrameWidth
组合框的框架宽度,默认为PM_DefaultFrameWidth。
QStyle.PM_MdiSubWindowFrameWidth
MDI窗口的框架宽度。
QStyle.PM_MdiSubWindowMinimizedWidth
最小化MDI窗口的宽度。
QStyle.PM_LayoutLeftMargin
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
自定义像素度量值的基值。自定义值必须大于此值。
另请参阅
- class ContentsType#
(继承自
enum.IntEnum
) 该枚举描述可用的内容类型。这些用于计算各种小部件内容的尺寸。常量
描述
QStyle.CT_CheckBox
复选框,例如
QCheckBox
。QStyle.CT_ComboBox
组合框,例如
QComboBox
。QStyle.CT_HeaderSection
标题部分,例如 QHeader。
QStyle.CT_LineEdit
行编辑,例如
QLineEdit
。QStyle.CT_Menu
菜单,例如
QMenu
。QStyle.CT_MenuBar
菜单栏,例如
QMenuBar
。QStyle.CT_MenuBarItem
菜单栏项,例如
QMenuBar
中的按钮。QStyle.CT_MenuItem
菜单项,例如 QMenuItem。
QStyle.CT_ProgressBar
进度条,例如
QProgressBar
。QStyle.CT_PushButton
按钮,例如
QPushButton
。QStyle.CT_RadioButton
单选按钮,例如
QRadioButton
。QStyle.CT_SizeGrip
大小控件,例如
QSizeGrip
。QStyle.CT_Slider
滑动条,类似于
QSlider
。QStyle.CT_ScrollBar
滚动条,类似于
QScrollBar
。QStyle.CT_SpinBox
微调框,例如
QSpinBox
。QStyle.CT_Splitter
分割器,例如
QSplitter
。QStyle.CT_TabBarTab
标签栏上的标签,例如
QTabBar
。QStyle.CT_TabWidget
标签小部件,例如
QTabWidget
。QStyle.CT_ToolButton
工具按钮,类似于
QToolButton
。QStyle.CT_GroupBox
分组框,类似于
QGroupBox
。QStyle.CT_ItemViewItem
项目视图中的项。
QStyle.CT_CustomBase
自定义内容类型的基值。自定义值必须大于此值。
QStyle.CT_MdiControls
最大化 MDI 子窗口菜单栏中的最小化、正常和关闭按钮。
另请参阅
- class RequestSoftwareInputPanel#
此枚举描述了在什么情况下输入控件会请求软件输入面板。
常量
描述
QStyle.RSIP_OnMouseClickAndAlreadyFocused
如果用户点击控件,则会请求输入面板,但仅当它已经聚焦时。
QStyle.RSIP_OnMouseClick
如果用户点击控件,则会请求输入面板。
另请参阅
新版本 4.6。
- class StyleHint#
(继承自
enum.IntEnum
) 此枚举描述了可用的风格提示。风格提示是一种通用的外观和/或感觉提示。常量
描述
QStyle.SH_EtchDisabledText
禁用文本被“蚀刻”,如 Windows 上所示。
QStyle.SH_DitherDisabledText
禁用文本被“散点”,如 Motif 上所示。
QStyle.SH_ScrollBar_ContextMenu
是否滚动条有上下文菜单。
QStyle.SH_ScrollBar_MiddleClickAbsolutePosition
布尔值。如果为真,则在中点击滚动条会使滑块跳到该位置。如果为假,则中点击被忽略。
QStyle.SH_ScrollBar_LeftClickAbsolutePosition
布尔值。如果为真,则左键点击滚动条会使滑块跳到该位置。如果为假,则左键点击的行为将根据每个控件适当处理。
QStyle.SH_ScrollBar_ScrollWhenPointerLeavesControl
布尔值。如果为真,则在点击滚动条
SubControl
时,按住鼠标按钮并移动指针到SubControl
之外,滚动条会继续滚动。如果为假,则当指针离开SubControl
时,滚动条会停止滚动。QStyle.SH_ScrollBar_RollBetweenButtons
布尔值。如果为真,则当点击滚动条按钮(
SC_ScrollBarAddLine
或SC_ScrollBarSubLine
)并将鼠标拖动到对面按钮上(滚动)时,会按下新按钮并释放旧按钮。如果为假,则释放原始按钮而不会发生任何事情(如按钮)。QStyle.SH_TabBar_Alignment
在
QTabWidget
中的标签对齐方式。可能的值有 Qt::AlignLeft、Qt::AlignCenter 和 Qt::AlignRight。QStyle.SH_Header_ArrowAlignment
排序指示器的位置可能会出现在列表或表头中。可能的值是 Qt::Alignment 值(即 Qt::AlignmentFlag 标志的 OR 组合)。
QStyle.SH_Slider_SnapToValue
滑块在移动时会捕捉到数值,就像在 Windows 中一样。
QStyle.SH_Slider_SloppyKeyEvents
按键以松散的方式处理,即在一个垂直滑块上按下会减去一行。
QStyle.SH_ProgressDialog_CenterCancelButton
在进度对话框中居中按钮,否则右对齐。
QStyle.SH_ProgressDialog_TextLabelAlignment
进度对话框中文本标签的对齐方式;在 Windows 上为 Qt::AlignCenter,否则为 Qt::AlignVCenter。
QStyle.SH_PrintDialog_RightAlignButtons
在打印对话框中右对齐按钮,就像在 Windows 中做的那样。
QStyle.SH_MainWindow_SpaceBelowMenuBar
菜单栏和停靠区域之间有一个或两个像素的空间,就像在 Windows 中做的那样。
QStyle.SH_FontDialog_SelectAssociatedText
选择行编辑中的文本,或在从列表框中选择一个条目,或在行编辑获得焦点时,就像在 Windows 中做的那样。
QStyle.SH_Menu_KeyboardSearch
输入会导致菜单搜索相关条目,否则只考虑访问键。
QStyle.SH_Menu_AllowActiveAndDisabled
允许禁用菜单项处于激活状态。
QStyle.SH_Menu_SpaceActivatesItem
按空格键激活项,就像在 Motif 中做的那样。
QStyle.SH_Menu_SubMenuPopupDelay
打开子菜单之前等待的毫秒数(在 Windows 为 256,在 Motif 为 96)。
QStyle.SH_Menu_Scrollable
弹出菜单是否必须支持滚动。
QStyle.SH_Menu_SloppySubMenus
弹出菜单是否必须支持用户在菜单中移动鼠标光标到子菜单的同时跨越其他项。这在大多数现代桌面平台上得到支持。
QStyle.SH_Menu_SubMenuUniDirection
自 Qt 5.5 开始。如果鼠标光标必须移动到子菜单(如 macOS 中那样),或者如果鼠标光标可以朝任何方向移动,只要在松散超时之前到达子菜单即可。
QStyle.SH_Menu_SubMenuUniDirectionFailCount
自 Qt 5.5 开始。当定义 SH_Menu_SubMenuUniDirection 时,此枚举定义了在丢弃松散子菜单之前的失败鼠标移动次数。这可以用来控制单方向算法的“严格性”。
QStyle.SH_Menu_SubMenuSloppySelectOtherActions
自 Qt 5.5 开始。当鼠标向松散子菜单移动时,是否应选择其他动作项。
QStyle.SH_Menu_SubMenuSloppyCloseTimeout
自 Qt 5.5 开始。关闭松散子菜单使用的超时。
QStyle.SH_Menu_SubMenuResetWhenReenteringParent
自 Qt 5.5 开始。当从子菜单重新进入父菜单时,是否应重置松散状态,从而关闭子菜单并使当前子菜单处于活动状态。
QStyle.SH_Menu_SubMenuDontStartSloppyOnLeave
自 Qt 5.5 开始。当鼠标离开子菜单时,不要启动松散定时器。
QStyle.SH_ScrollView_FrameOnlyAroundContents
是否只围绕内容在滚动视图中绘制框架(就像 Motif),或者围绕内容,滚动条和角落小部件(就像 Windows)。
QStyle.SH_MenuBar_AltKeyNavigation
通过按 Alt 键,然后使用箭头键选择所需项的方式来导航菜单栏项。
QStyle.SH_ComboBox_ListMouseTracking
组合框下拉列表中的鼠标跟踪。
QStyle.SH_Menu_MouseTracking
弹出菜单中的鼠标跟踪。
QStyle.SH_MenuBar_MouseTracking
菜单栏中的鼠标跟踪。
QStyle.SH_Menu_FillScreenWithScroll
是否应在滚动时填充滚动弹出菜单的整个屏幕。
QStyle.SH_Menu_SelectionWrap
弹出菜单是否应允许选择循环,即选择时是否将下一个项设为第一项。
QStyle.SH_ItemView_ChangeHighlightOnFocus
失去焦点时,灰显已选项目。
QStyle.SH_Widget_ShareActivation
启用与浮动模式无模式对话框的共享激活。
QStyle.SH_TabBar_SelectMouseType
应引发标签选择的鼠标事件类型。
QStyle.SH_ListViewExpand_SelectMouseType
应选择哪种鼠标事件来触发列表视图的展开。
QStyle.SH_TabBar_PreferNoArrows
是否让选项卡栏建议一个大小以防止滚动箭头。
QStyle.SH_ComboBox_Popup
允许弹出下拉菜单作为组合框。
QStyle.SH_Workspace_FillSpaceOnMaximize
工作区应该最大化客户端区域。
QStyle.SH_TitleBar_NoBorder
标题栏没有边框。
QStyle.SH_Slider_StopMouseOverSlider
当滑动条达到鼠标位置时停止自动重复。
QStyle.SH_BlinkCursorWhenTextSelected
在文本被选中时,光标是否应该闪烁。
QStyle.SH_RichText_FullWidthSelection
是否让富文本选择延伸到文件的整个宽度。
QStyle.SH_GroupBox_TextLabelVerticalAlignment
如何垂直对齐分组框的文本标签。
QStyle.SH_GroupBox_TextLabelColor
如何绘制分组框的文本标签。
QStyle.SH_DialogButtons_DefaultButton
在对话框按钮小部件中哪个按钮获得默认状态。
QStyle.SH_ToolBox_SelectedPageTitleBold
QToolBox
中选中页标题的粗体程度。QStyle.SH_LineEdit_PasswordCharacter
用于密码的Unicode字符。
QStyle.SH_LineEdit_PasswordMaskDelay
确定在毫秒级的延迟后,可见字符是否被密码字符屏蔽。此枚举值在Qt 5.4中添加。
QStyle.SH_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 起引入。
另请参阅
- 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
自定义标准光标的基值;自定义值必须大于此值。
另请参阅
- __init__()#
构建一个样式对象。
- static alignedRect(direction, alignment, size, rectangle)#
- 参数:
direction –
LayoutDirection
alignment –
AlignmentFlag
的组合size –
QSize
rectangle –
QRect
- 返回类型:
返回一个新矩形,该矩形指定了
size
,并根据指定的alignment
和direction
对齐到给定的rectangle
。- combinedLayoutSpacing(controls1, controls2, orientation[, option=None[, widget=None]])#
- 参数:
controls1 –
ControlType
的组合controls2 –
ControlType
的组合orientation –
Orientation
option –
QStyleOption
widget –
QWidget
- 返回类型:
int
返回在布局中将用于
controls1
和controls2
之间的间距。参数orientation
表示控件是横向并排还是垂直堆叠。可以使用option
参数传递有关父小部件的额外信息。widget
参数是可选的,如果option
是None
,则也可以使用。controls1
和controls2
是零个或多个control types
的 OR 组合。此函数将由布局系统调用。仅在
PM_LayoutHorizontalSpacing
或PM_LayoutVerticalSpacing
返回负值时使用。另请参阅
- 抽象 drawComplexControl(cc, opt, p[, widget=None])#
- 参数:
cc –
ComplexControl
opt –
QStyleOptionComplex
p –
QPainter
widget –
QWidget
使用指定的
option
样式选项,用提供的painter
绘制给定的control
。参数
widget
是可选的,可以用于辅助绘制控件。参数
option
是指向一个QStyleOptionComplex
对象的指针,可以使用qstyleoption_cast()
函数将其转换为正确的子类。注意,指定的option
的rect
成员必须位于逻辑坐标中。此函数的实现应使用visualRect()
将逻辑坐标转换为屏幕坐标,然后再调用drawPrimitive()
或drawControl()
函数。下表列出了复杂控件及其相关的样式选项子类。样式选项包含绘制控件所需的所有参数,包括 QStyleOption::state,它存储了用于绘制的
style flags
。该表还描述了将给定的option
转换为适当子类时设置的标志。复杂控件
样式标志
备注
如果单行编辑器可用。
如果单行编辑器有输入焦点。
如果组合框是启用的。
如果组合框有输入焦点。
如果滚动条是启用的。
如果滚动条有输入焦点。
如果滑块是启用的。
如果滑块有输入焦点。
如果旋钮是启用的。
如果旋钮有输入焦点。
如果工具按钮是启用的。
如果工具按钮有输入焦点。
如果工具按钮是按下的(例如,按下了鼠标按钮或空格键)。
如果工具按钮是切换按钮并且处于开启状态。
如果工具按钮启用了自动提升。
如果按钮不在按下状态,不在开启状态,并且在启用了自动提升时不包含鼠标。
如果标题栏是启用的。
- abstract drawControl(element, opt, p[, widget=None])#
- 参数:
element –
ControlElement
opt –
QStyleOption
p –
QPainter
widget –
QWidget
使用由
option
指定的样式选项绘制给定的element
。widget
参数是可选的,可以用作绘制控件的辅助。参数option
是指向一个QStyleOption
对象的指针,可以使用qstyleoption_cast()
函数将其转换为正确的子类。下面的表格列出了控件及其关联的样式选项子类。样式选项包含绘制控件所需的所有参数,包括 QStyleOption::state,它包含用于绘图时的样式标志。表格还描述了将给定选项转换为适当子类时设置的标志。
请注意,如果一个控件没有在这里列出,那是因为它使用了一个普通的
QStyleOption
对象。控件元素
QStyleOption
子类样式标志
备注
菜单项当前被选中。
项目处于启用状态。
表示应绘制向下的滚动箭头。
表示应绘制向上的滚动箭头。
设置如果菜单栏有输入焦点。
设置如果按钮处于启用状态。
设置如果按钮有输入焦点。
设置如果按钮不是按下、活动或平坦的。
设置如果按钮是切换按钮并且被切换开。
设置如果按钮被按下(即,在按钮上按下鼠标按钮或空格栏)。
CE_RadioButton
、CE_RadioButtonLabel
、CE_CheckBox
、CE_CheckBoxLabel
设置如果按钮处于启用状态。
设置如果按钮有输入焦点。
设置如果按钮被选中。
设置如果按钮未被选中。
设置如果按钮处于NoChange状态。
设置如果按钮被按下(即,在按钮上按下鼠标按钮或空格栏)。
CE_ProgressBarContents
、CE_ProgressBarLabel
、CE_ProgressBarGroove
设置如果进度条处于启用状态。
设置如果进度条有输入焦点。
设置是否启用选项卡栏。
选项卡栏是当前选定的选项卡栏。
设置是否选项卡栏的标签具有输入焦点。
如果工具按钮是启用的。
如果工具按钮有输入焦点。
如果工具按钮是按下的(例如,按下了鼠标按钮或空格键)。
如果工具按钮是切换按钮并且处于开启状态。
如果工具按钮启用了自动提升。
设置是否鼠标指针在工具按钮上。
设置按钮未按下且未激活。
选项卡是当前选定的选项卡。
指示该部分被按下。
指示排序指示器应指向向上。
指示排序指示器应指向向下。
- drawItemPixmap(painter, rect, alignment, pixmap)#
根据指定的
alignment
使用提供的painter
在指定的rectangle
中绘制给定的pixmap
。另请参阅
- drawItemText(painter, rect, flags, pal, enabled, text[, textRole=QPalette.NoRole])#
使用提供的
painter
和palette
在指定的rectangle
中绘制给定的text
。文本使用画家的笔绘制,并根据指定的
alignment
对齐和换行。如果指定了显式的textRole
,则使用palette
的颜色来绘制文本,该颜色对应于给定的角色。参数enabled
表示项目是否启用;当重新实现此功能时,参数enabled
应该影响项目绘制的方式。另请参阅
- 抽象 drawPrimitive(pe, opt, p[, widget=None])#
- 参数:
pe –
PrimitiveElement
opt –
QStyleOption
p –
QPainter
widget –
QWidget
使用通过
option
指定的样式选项,使用提供的painter
绘制给定的primitive
element
。参数
widget
是可选的,可能包含一个在绘制原始元素时可能有所帮助的控件。下表列出了原始元素及其相关的样式选项子类。样式选项包含绘制元素所需的所有参数,包括 QStyleOption::state,它包含在绘制时使用的样式标志。该表还描述了在将给定的选项强制转换为适当的子类时设置的标志。
请注意,如果原始元素未在此列出,则是因为它使用了一个普通的
QStyleOption
对象。原始元素
QStyleOption
子类样式标志
备注
是否焦点位于边框或控件内部。
指示一个“三态”复选框。
指示指示器被选中。
指示单选按钮被选中。
指示一个“三态”控制器。
指示控制器已启用。
指示应绘制用于展开树以显示子项的控制。
指示应绘制一个水平分支(用于显示子项)。
指示树分支已展开。
指示应绘制一个垂直线(用于显示同辈项)。
指示箭头应向上绘制;否则,应向下绘制。
PE_FrameGroupBox
,PE_Frame
,PE_FrameLineEdit
,PE_FrameMenu
,PE_FrameDockWidget
,PE_FrameWindow
表示该框架应凹陷。
表示窗口句柄为水平而非垂直。
PE_IndicatorSpinPlus
,PE_IndicatorSpinMinus
,PE_IndicatorSpinUp
,PE_IndicatorSpinDown
,表示按钮被按下。
设置如果按钮处于启用状态。
设置如果按钮有输入焦点。
设置如果按钮不是按下、活动或平坦的。
设置如果按钮是切换按钮并且被切换开。
设置如果按钮被按下(即,在按钮上按下鼠标按钮或空格栏)。
- abstract generatedIconPixmap(iconMode, pixmap, opt)#
- 参数:
iconMode –
Mode
pixmap –
QPixmap
opt –
QStyleOption
- 返回类型:
返回给定
pixmap
的副本,样式符合指定的iconMode
,并考虑由option
指定的调色板。option
参数可以传递额外的信息,但必须包含调色板。请注意,并非所有位图都将符合要求,在这种情况下,返回的位图是一个纯拷贝。
另请参阅
- abstract hitTestComplexControl(cc, opt, pt[, widget=None])#
- 参数:
cc –
ComplexControl
opt –
QStyleOptionComplex
pt –
QPoint
widget –
QWidget
- 返回类型:
返回给定复杂
control
(通过option
指定的样式选项)中指定position
的子控件。请注意,
position
是用屏幕坐标表示的。option
参数是指向一个QStyleOptionComplex
对象(或其子类之一)的指针。可以使用qstyleoption_cast()
函数将该对象转换为适当的类型。有关详细信息,请参阅drawComplexControl()
。参数widget
是可选的,可以为函数提供附加信息。返回在给定
rectangle
内部绘制指定pixmap
的区域,根据定义的alignment
。- itemTextRect(fm, r, flags, enabled, text)#
- 参数:
fm –
QFontMetrics
r –
QRect
flags – int
enabled – bool
text – str
- 返回类型:
返回在给定
rectangle
内部绘制提供的text
的区域,根据指定的字体metrics
和对齐方式alignment
。参数enabled
指示相关项是否启用。如果给定的
rectangle
大于渲染text
所需区域,返回的矩形将根据指定的对齐方式在rectangle
内偏移。例如,如果对齐方式是Qt::AlignCenter,则返回的矩形将位于rectangle
的中央。如果给定的rectangle
小于渲染所需的区域,则返回的矩形将是渲染text
所需的最小矩形。另请参阅
对齐方式
- 摘要 layoutSpacing(control1, control2, orientation[, option=None[, widget=None]])#
- 参数:
control1 –
ControlType
control2 –
ControlType
orientation –
Orientation
option –
QStyleOption
widget –
QWidget
- 返回类型:
int
返回应该在布局中使用
control1
和control2
之间的间隔。orientation
指定控件是横向排列还是垂直堆叠。可以使用option
参数传递有关父小部件的额外信息。widget
参数是可选的,如果option
为None
时也可以使用。此函数将由布局系统调用。仅在
PM_LayoutHorizontalSpacing
或PM_LayoutVerticalSpacing
返回负值时使用。- name()#
- 返回类型:
str
返回样式的名称。
此值可用于使用
create()
创建样式。另请参阅
- 摘要 pixelMetric(metric[, option=None[, widget=None]])#
- 参数:
metric –
PixelMetric
option –
QStyleOption
widget –
QWidget
- 返回类型:
int
返回给定像素
metric
的值。可以使用指定的
option
和widget
来计算该指标。《option》可以采用要使用它的适当的类型使用《qstyleoption_cast()`函数》。注意,即使是对于那些可以使用其值的《PixelMetrics》,“option”可能为零。以下是正确的《option》强制类型表像素指标
QStyleOption
子类某些像素指标是从小部件中调用的,而有些则是由样式内部调用的。如果指标不是由小部件调用,则由样式作者决定是否使用它。对于某些样式,这可能并不合适。
初始化给定
widget
的外观。在创建完全完成后,但在第一次显示之前,该函数会针对每个 widget 调用一次。
请注意,默认实现不执行任何操作。在此函数中合理的行为可能是调用 QWidget::setBackgroundMode() 函数来设置 widget 的背景模式。不要使用该函数来设置,例如,几何形状。重新实现此函数提供了一个后门,可以通过它来更改 widget 的外观,但使用 Qt 的样式引擎时,很少需要实现此函数;而是重新实现
drawItemPixmap()
,drawItemText()
,drawPrimitive()
等等。QWidget::inherits() 函数可能提供足够的信息来允许针对特定类的定制。但由于期望所有当前和 未来的 widget 都可以与新
QStyle
子类合理工作,因此建议仅有限地使用硬编码的定制。另请参阅
- polish(palette)
- 参数:
palette –
QPalette
这是一个重载函数。
根据样式对颜色调色板的需求(如果有的话)更改调色板。
另请参阅
- polish(application)
- 参数:
application –
QApplication
这是一个重载函数。
给予的
application
对象的晚期初始化。此函数返回给定样式的当前代理。默认情况下,大多数样式将返回自身。然而,在使用代理样式时,它将允许样式调用其代理。
- 抽象 sizeFromContents(ct, opt, contentsSize, w=None)#
- 参数:
ct –
ContentsType
opt –
QStyleOption
contentsSize –
QSize
w –
QWidget
- 返回类型:
返回由指定的
option
和type
以及提供的contentsSize
描述的元素的大小。option
参数是一个指向QStyleOption
或其子类的指针。option
可以使用qstyleoption_cast()
函数转换为合适的类型。widget
是一个可选项,可以包含用于计算大小的额外信息。请参阅下面的表格以获取合适的
option
转换内容类型
QStyleOption
子类另请参阅
- 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]])#
- 参数:
standardIcon –
StandardPixmap
option –
QStyleOption
widget –
QWidget
- 返回类型:
返回给定
standardIcon
的图标。standardIcon
是一个标准的位图,可以遵循一些已存在的GUI风格或指南。可以使用option
参数传递在定义适当图标时所需额外信息。widget
参数是可选的,也可以用来辅助确定图标。返回风格的默认调色板。
请注意,在支持系统颜色的系统上,不会使用风格的默认调色板。特别是,Windows Vista和Mac风格不使用默认调色板,而是使用原生的主题引擎。使用这些风格时,请勿使用
setPalette()
来设置调色板。另请参阅
- 抽象 standardPixmap(standardPixmap[, opt=None[, widget=None]])#
- 参数:
standardPixmap –
StandardPixmap
opt –
QStyleOption
widget –
QWidget
- 返回类型:
返回给定
standardPixmap
的位图。标准的位图是遵循某些现有GUI风格或指南的位图。可以使用
option
参数传递在定义适当位图时所需额外信息。widget
参数是可选的,也可以用来辅助确定位图。调用standardPixmap()的开发者应改用调用
standardIcon()
。重新实现了standardPixmap()的开发者应改实现standardIcon()
。另请参阅
- 抽象 styleHint(stylehint[, opt=None[, widget=None[, returnData=None]]]])#
- 参数:
stylehint –
StyleHint
opt –
QStyleOption
widget –
QWidget
returnData –
QStyleHintReturn
- 返回类型:
int
返回一个整数,表示由提供的样式
option
描述的给定widget
的指定样式hint
。当查询的
widget
需要查询比 styleHint() 返回的整数更详细的数据时,使用returnData
。有关详情,请参阅QStyleHintReturn
类的描述。- 抽象 subControlRect(cc, opt, sc[, widget=None])#
- 参数:
cc –
ComplexControl
opt –
QStyleOptionComplex
sc –
SubControl
widget –
QWidget
- 返回类型:
返回包含给定
subControl
的复合control
(由option
指定的样式)的矩形。该矩形在屏幕坐标中定义。option
参数是指向QStyleOptionComplex
或其子类的一个指针,可以使用qstyleoption_cast()
函数将其转换为适当类型。有关详情,请参阅drawComplexControl()
。可选的widget
可以包含该函数的额外信息。另请参阅
- 抽象 subElementRect(subElement, option[, widget=None])#
- 参数:
subElement –
SubElement
option –
QStyleOption
widget –
QWidget
- 返回类型:
返回由提供的样式
option
描述的给定element
的子区域。返回的矩形在屏幕坐标中定义。参数
widget
是可选的,可以用来帮助确定区域。可以使用qstyleoption_cast()
函数将QStyleOption
对象转换成适当类型。下表列出了适当的option
转换子元素
QStyleOption
子类- unpolish(application)#
- 参数:
application –
QApplication
这是一个重载函数。
取消初始化指定的
application
。- unpolish(widget)
- 参数:
widget –
QWidget
取消初始化指定
widget
的外观。这个函数是
polish()
的对应函数。每当样式被动态更改时,都会为每个磨光的控件调用它;旧样式必须在新的样式再次磨光其设置之前取消磨光其设置。注意,unpolish()只有在控件被销毁时才会调用。在某些情况下,这可能会引发问题,例如,如果您从UI中删除一个控件,将其缓存起来,然后在样式更改后重新插入它;Qt的一些类会缓存其控件。
另请参阅
- static visualAlignment(direction, alignment)#
- 参数:
direction –
LayoutDirection
alignment –
AlignmentFlag
的组合
- 返回类型:
根据布局方向将Qt::AlignLeft或Qt::AlignRight的
alignment
转换为Qt::AlignLeft或Qt::AlignRight,而没有Qt::AlignAbsolute。其他对齐标志保持不变。如果没有指定水平对齐,则函数返回给定布局方向的默认对齐方式。
- static visualPos(direction, boundingRect, logicalPos)#
- 参数:
direction –
LayoutDirection
boundingRect –
QRect
logicalPos –
QPoint
- 返回类型:
返回基于指定的
direction
转换为屏幕坐标的给定logicalPosition
。在进行转换时使用boundingRectangle
。另请参阅
- 静态 visualRect(direction, boundingRect, logicalRect)#
- 参数:
direction –
LayoutDirection
boundingRect –
QRect
logicalRect –
QRect
- 返回类型:
返回基于指定的
direction
转换为屏幕坐标的给定logicalRectangle
。在进行转换时使用boundingRectangle
。此函数提供以支持从右到左的桌面,通常用于实现
subControlRect()
函数。另请参阅