class QFrame#

The QFrame class is the base class of widgets that can have a frame. 更多

Inheritance diagram of 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

Synopsis#

Properties#

Methods#

虚方法#

备注

本文档可能包含从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 shape 和一个 shadow style 定义,该样式用于在视觉上将框架与周围的控件分离。可以使用 setFrameStyle() 函数一起设置这些属性,并使用 frameStyle() 函数读取。

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

框架控件有三个属性描述边框的厚度:lineWidthmidLineWidth 、和 frameWidth

  • 线条宽度是框架边框的宽度。它可以被修改以定制框架的外观。

  • 中线宽度指定框架中间额外线条的宽度,使用第三种颜色以获得特殊三维效果。请注意,中线只绘制在 BoxHLineVLine 框架中,这些框架是凸起或凹进的。

  • 框架宽度由框架样式决定,使用 frameWidth() 函数可以获取该样式定义的值。

框架与框架内容之间的间距可以通过使用 setContentsMargins() 函数来自定义。

此表显示了部分样式和线宽的组合

../../_images/frames.png
枚举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将与 Shadow 交互,并发送 lineWidth()midLineWidth() 以创建最终结果。请参阅主类文档中框架的图片。

另请参阅

Shadow style() drawPrimitive()

枚举Shadow#

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

常量

描述

QFrame.Plain

框架和内容看起来与周围环境处于同一水平;使用 QPalette::WindowText 颜色绘制(没有3D效果)

QFrame.Raised

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

QFrame.Sunken

框架和内容看起来凹陷;使用当前颜色组的亮色和暗色绘制3D凹陷的线条

阴影与Shape(形状),lineWidth()(线宽)和midLineWidth()(中间线宽)进行交互。请参见主类文档中的框架图片。

另请参阅

Shape lineWidth() midLineWidth()

class StyleMask#

此枚举定义了两个常量,可用于提取frameStyle()的框架样式中的两个部分。

常量

描述

QFrame.Shadow_Mask

frameStyle()中的Shadow部分

QFrame.Shape_Mask

frameStyle()中的Shape部分

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

另请参阅

frameStyle() setFrameStyle()

备注

在使用了from __feature__ import true_property或者通过其他方式访问器函数时,可以直接使用属性。

property frameRect: QRect#

此属性保存框架的矩形。

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

如果您将矩形设置为零矩形(例如,QRect(0, 0, 0, 0)),则生成的框架矩形相当于widget rectangle

访问函数
属性 frameShadow: QFrame.Shadow#

此属性包含框架样式中框架阴影的值。

另请参阅

frameStyle() frameShape()

访问函数
属性 frameShape : QFrame.Shape#

此属性包含框架样式中框架形状的值。

访问函数
属性 frameWidth : int#

此属性包含绘制框架的宽度。

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

访问函数
属性 lineWidth : int#

此属性包含线宽。

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

默认值为 1。

另请参阅

midLineWidth frameWidth

访问函数
属性 midLineWidth#

此属性保存中线的宽度。

默认值为 0。

另请参阅

lineWidth frameWidth

访问函数
__init__([parent=None[, f=Qt.WindowFlags()]])#
参数:

使用框架样式 NoFrame 和 1 像素框架宽度的框架小部件。

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

drawFrame(arg__1)#
参数:

arg__1QPainter

frameRect()#
返回类型:

QRect

另请参阅

setFrameRect()

属性 frameRect 的获取器。

frameShadow()#
返回类型:

阴影

另请参阅

setFrameShadow()

属性 frameShadow 的获取器。

frameShape()#
返回类型:

形状

另请参阅

setFrameShape()

属性 frameShape 的获取器。

frameStyle()#
返回类型:

int

返回框架样式。

默认值是 Plain

frameWidth()#
返回类型:

int

属性 frameWidth 的获取器。

initStyleOption(option)#
参数:

optionQStyleOptionFrame

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

另请参阅

initFrom()

lineWidth()#
返回类型:

int

另请参阅

setLineWidth()

属性 lineWidth 的获取器。

midLineWidth()#
返回类型:

int

另请参阅

setMidLineWidth()

属性 midLineWidth 的获取器。

setFrameRect(arg__1)#
参数:

arg__1QRect

另请参阅

frameRect()

属性 frameRect 的设置器。

setFrameShadow(arg__1)#
参数:

arg__1Shadow

另请参阅

frameShadow()

属性 frameShadow 的设置器。

setFrameShape(arg__1)#
参数:

arg__1Shape

另请参阅

frameShape()

设置属性 frameShape 的值。

setFrameStyle(arg__1)#
参数:

arg__1 – int

将框架样式设置为 style

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

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

如果指定了大于0的中间线宽度,则会在 RaisedSunken 框架、BoxHLineVLine 框架中绘制额外的线。使用当前颜色组的中间颜色绘制中间线。

另请参阅

frameStyle()

setLineWidth(arg__1)#
参数:

arg__1 – int

另请参阅

lineWidth()

设置属性 lineWidth 的值。

setMidLineWidth(arg__1)#
参数:

arg__1 – int

另请参阅

midLineWidth()

设置属性 midLineWidth 的值。