PySide6.QtWidgets.QLayoutItem

class QLayoutItem

QLayoutItem 类提供了一个抽象项,供 QLayout 操作。更多

继承者: QSpacerItem, QWidgetItem, QLayout, QStackedLayout, QGridLayout, QFormLayout, QBoxLayout, QVBoxLayout, QHBoxLayout

概要

方法

虚拟方法

注意

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

详细描述

这用于自定义布局。

提供了纯虚函数来返回有关布局的信息,包括 sizeHint()minimumSize()maximumSize()expandingDirections()

布局的几何形状可以通过setGeometry()geometry()来设置和获取,其对齐方式可以通过setAlignment()alignment()来设置和获取。

isEmpty() 返回布局项是否为空。如果具体项是 QWidget,可以使用 widget() 来获取它。同样适用于 layout()spacerItem()

某些布局具有宽度和高度相互依赖的关系。这些可以通过使用hasHeightForWidth()heightForWidth()minimumHeightForWidth()来表达。更多解释请参见Qt Quarterly文章Trading Height for Width

另请参阅

QLayout

PySide6.QtWidgets.QLayoutItem.align
__init__([alignment=Qt.Alignment()])
Parameters:

alignmentAlignmentFlag 的组合

使用alignment构造一个布局项。并非所有子类都支持对齐。

alignment()
Return type:

AlignmentFlag 的组合

返回此项目的对齐方式。

另请参阅

setAlignment()

controlTypes()
Return type:

ControlType的组合

返回布局项的控制类型。对于QWidgetItem,控制类型来自小部件的大小策略;对于QLayoutItem,控制类型来自布局的内容。

另请参阅

controlType()

abstract expandingDirections()
Return type:

Orientation的组合

返回此布局项是否可以使用比sizeHint()更多的空间。Qt::Vertical或Qt::Horizontal的值意味着它只希望在一个维度上增长,而Qt::Vertical | Qt::Horizontal意味着它希望在两个维度上增长。

abstract geometry()
Return type:

QRect

返回此布局项覆盖的矩形。

另请参阅

setGeometry()

hasHeightForWidth()
Return type:

布尔

如果此布局的首选高度取决于其宽度,则返回true;否则返回false。默认实现返回false。

在支持宽度决定高度的布局管理器中重新实现此函数。

heightForWidth(arg__1)
Parameters:

arg__1 – 整数

Return type:

整数

警告

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

返回此布局项的优选高度,给定宽度,此默认实现中未使用。

默认实现返回-1,表示首选高度与项目的宽度无关。使用函数hasHeightForWidth()通常比调用此函数并测试-1要快得多。

在支持宽度决定高度的布局管理器中重新实现此函数。典型的实现将如下所示:

def heightForWidth(self, int w):

    if cache_dirty or cached_width != w:
        that = _cast<MyLayout *>(self)
        h = calculateHeightForWidth(w)
        that.cached_hfw = h
        return h

    return cached_hfw

强烈建议使用缓存;没有它,布局将花费指数级时间。

另请参阅

hasHeightForWidth()

invalidate()

使此布局项中的任何缓存信息无效。

abstract isEmpty()
Return type:

布尔

在子类中实现,以返回此项是否为空,即是否包含任何小部件。

layout()
Return type:

QLayout

如果此项是QLayout,则将其作为QLayout返回;否则返回None。此函数提供类型安全的转换。

另请参阅

spacerItem() widget()

abstract maximumSize()
Return type:

QSize

在子类中实现以返回此项目的最大大小。

minimumHeightForWidth(w)
Parameters:

w – 整数

Return type:

整数

返回此小部件在给定宽度 w 下所需的最小高度。默认实现仅返回 heightForWidth (w)。

abstract minimumSize()
Return type:

QSize

在子类中实现以返回此项的最小大小。

setAlignment(a)
Parameters:

aAlignmentFlag 的组合

将此项目的对齐方式设置为 alignment

注意

项目对齐仅由QLayoutItem的子类支持,这些子类会产生视觉效果。除了QSpacerItem,它为布局提供空白空间外,所有继承QLayoutItem的公共Qt类都支持项目对齐。

另请参阅

alignment()

abstract setGeometry(r)
Parameters:

rQRect

在子类中实现,将此项目的几何形状设置为r

另请参阅

geometry()

abstract sizeHint()
Return type:

QSize

在子类中实现以返回此项目的首选大小。

spacerItem()
Return type:

QSpacerItem

如果此项是QSpacerItem,则返回为QSpacerItem;否则返回None。此函数提供类型安全的转换。

另请参阅

layout() widget()

widget()
Return type:

QWidget

如果此项管理一个QWidget,则返回该小部件。否则,返回None

注意

虽然函数 layout()spacerItem() 执行类型转换,但此函数返回另一个对象:QLayoutQSpacerItem 继承自 QLayoutItem,而 QWidget 则不是。

另请参阅

layout() spacerItem()