PySide6.QtWidgets.QFrame

class QFrame

QFrame 类是那些可以有框架的小部件的基类。更多

PySide6.QtWidgets.QFrame 的继承图

Inherited by: QToolBox, QStackedWidget, QSplitter, QLabel, QLCDNumber, QAbstractScrollArea, QTextEdit, QTextBrowser, QScrollArea, QPlainTextEdit, QMdiArea, QGraphicsView, QAbstractItemView, QTreeView, QTreeWidget, QHelpContentWidget, QTableView, QTableWidget, QListView, QUndoView, QListWidget, QHelpIndexWidget, QHeaderView, QColumnView, QPdfView, QChartView

概要

属性

方法

虚拟方法

注意

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

详细描述

警告

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

QMenu 使用这个来将菜单“提升”到周围屏幕之上。QProgressBar 有一个“凹陷”的外观。QLabel 有一个扁平的外观。这些小部件的框架可以更改。

label = QLabel(...)
label.setFrameStyle(QFrame.Panel | QFrame.Raised)
label.setLineWidth(2)
pbar = QProgressBar(...)
label.setFrameStyle(QFrame.NoFrame)

QFrame 类也可以直接用于创建没有任何内容的简单占位框架。

框架样式由frame shapeshadow style指定,用于在视觉上将框架与周围的小部件分开。这些属性可以使用setFrameStyle()函数一起设置,并使用frameStyle()读取。

框架形状有 NoFrameBoxPanelStyledPanelHLineVLine;阴影样式有 PlainRaisedSunken

框架小部件有三个描述边框厚度的属性:lineWidthmidLineWidthframeWidth

  • 线宽是框架边框的宽度。可以修改以自定义框架的外观。

  • 中线宽度指定了框架中间额外线条的宽度,该线条使用第三种颜色以获得特殊的3D效果。请注意,仅当BoxHLineVLine框架被提升或凹陷时才会绘制中线。

  • 框架宽度由框架样式决定,frameWidth() 函数用于获取为所用样式定义的值。

框架与框架内容之间的边距可以使用setContentsMargins()函数进行自定义。

此表展示了一些样式和线宽的组合:

../../_images/frames.png
class Shape

(继承自 enum.IntEnum) 此枚举类型定义了可用的帧形状。

常量

描述

QFrame.NoFrame

QFrame 不绘制任何内容

QFrame.Box

QFrame 在其内容周围绘制一个框

QFrame.Panel

QFrame 绘制一个面板,使内容看起来凸起或凹陷

QFrame.StyledPanel

绘制一个矩形面板,其外观取决于当前的GUI样式。它可以被凸起或凹陷。

QFrame.HLine

QFrame 绘制一条水平线,不框住任何内容(用作分隔符很有用)

QFrame.VLine

QFrame 绘制一条不包含任何内容的垂直线(可用作分隔符)

QFrame.WinPanel

绘制一个可以像Windows 2000中那样凸起或凹陷的矩形面板。指定此形状会将线宽设置为2像素。WinPanel是为了兼容性而提供的。为了实现GUI风格的独立性,我们建议使用StyledPanel代替。

当它不调用QStyle时,Shape与ShadowlineWidth()midLineWidth()交互以创建最终结果。请参阅主类文档中的框架图片。

另请参阅

Shadow style() drawPrimitive()

class Shadow

(继承自 enum.IntEnum) 此枚举类型定义了用于给框架添加3D效果的阴影类型。

常量

描述

QFrame.Plain

框架和内容与周围环境平齐;使用调色板QPalette::WindowText颜色绘制(没有任何3D效果)

QFrame.Raised

框架和内容看起来是凸起的;使用当前颜色组的浅色和深色绘制3D凸起线条

QFrame.Sunken

框架和内容显示为凹陷;使用当前颜色组的浅色和深色绘制3D凹陷线

阴影与ShapelineWidth()midLineWidth()交互。请参阅主类文档中的框架图片。

class StyleMask

此枚举定义了两个常量,可用于提取frameStyle()的两个组件:

常量

描述

QFrame.Shadow_Mask

ShadowframeStyle() 的一部分

QFrame.Shape_Mask

ShapeframeStyle() 的一部分

通常,你不需要使用这些,因为 frameShadow()frameShape() 已经提取了 frameStyle()ShadowShape 部分。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property frameRectᅟ: QRect

此属性保存框架的矩形。

框架的矩形是框架绘制的矩形。默认情况下,这是整个小部件。设置矩形不会导致小部件更新。当小部件改变大小时,框架矩形会自动调整。

如果将矩形设置为空矩形(例如,QRect(0, 0, 0, 0)),那么生成的框架矩形等同于widget rectangle

Access functions:
property frameShadowᅟ: QFrame.Shadow

此属性保存来自框架样式的框架阴影值。

另请参阅

frameStyle() frameShape()

Access functions:
property frameShapeᅟ: QFrame.Shape

此属性保存来自框架样式的框架形状值。

Access functions:
property frameWidthᅟ: int

此属性保存绘制的框架的宽度。

请注意,框架宽度取决于frame style,而不仅仅是线宽和中线宽度。例如,由NoFrame指定的样式始终具有0的框架宽度,而样式Panel的框架宽度等于线宽。

Access functions:
property lineWidthᅟ: int

此属性保存线条宽度。

请注意,用作分隔符的框架(HLineVLine)的线宽由 frameWidth 指定。

默认值为1。

另请参阅

midLineWidth frameWidth

Access functions:
property midLineWidthᅟ: int

此属性保存中线的宽度。

默认值为0。

另请参阅

lineWidth frameWidth

Access functions:
__init__([parent=None[, f=Qt.WindowFlags()]])
Parameters:

构造一个框架小部件,框架样式为NoFrame,框架宽度为1像素。

parentf 参数被传递给 QWidget 构造函数。

drawFrame(arg__1)
Parameters:

arg__1QPainter

frameRect()
Return type:

QRect

另请参阅

setFrameRect()

属性 frameRectᅟ 的获取器。

frameShadow()
Return type:

Shadow

另请参阅

setFrameShadow()

属性 frameShadowᅟ 的获取器。

frameShape()
Return type:

Shape

另请参阅

setFrameShape()

属性 frameShapeᅟ 的获取器。

frameStyle()
Return type:

整数

返回框架样式。

默认值为Plain

frameWidth()
Return type:

整数

属性 frameWidthᅟ 的获取器。

initStyleOption(option)
Parameters:

选项QStyleOptionFrame

使用此QFrame中的值初始化option。当子类需要一个QStyleOptionFrame但不想自己填写所有信息时,此方法非常有用。

另请参阅

initFrom()

lineWidth()
Return type:

整数

另请参阅

setLineWidth()

属性 lineWidthᅟ 的获取器。

midLineWidth()
Return type:

整数

另请参阅

setMidLineWidth()

属性 midLineWidthᅟ 的获取器。

setFrameRect(arg__1)
Parameters:

arg__1QRect

另请参阅

frameRect()

属性 frameRectᅟ 的设置器。

setFrameShadow(arg__1)
Parameters:

arg__1Shadow

另请参阅

frameShadow()

属性 frameShadowᅟ 的设置器。

setFrameShape(arg__1)
Parameters:

arg__1Shape

另请参阅

frameShape()

属性 frameShapeᅟ 的设置器。

setFrameStyle(style)
Parameters:

style – int

将框架样式设置为 style

style 是框架形状和框架阴影样式之间的按位或运算。请参阅主类文档中的框架图片。

框架形状在Shape中给出,阴影样式在Shadow中给出。

如果指定了大于0的中线宽度,将为RaisedSunkenBoxHLineVLine框架绘制额外的线。当前颜色组的中线颜色用于绘制中线。

另请参阅

frameStyle()

setLineWidth(arg__1)
Parameters:

arg__1 – 整数

另请参阅

lineWidth()

属性 lineWidthᅟ 的设置器。

setMidLineWidth(arg__1)
Parameters:

arg__1 – 整数

另请参阅

midLineWidth()

属性 midLineWidthᅟ 的设置器。