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

alignmentAlignmentFlag 组合

使用对齐方式 alignment 创建一个布局项。并非所有子类都支持对齐。

alignment()#
返回类型:

AlignmentFlag 的组合

返回这个项目的对齐方式。

另请参阅

setAlignment()

controlTypes()#
返回类型:

ControlType 的组合

返回布局项的控制类型。对于 QWidgetItem ,控制类型来自小部件的尺寸策略;对于 QLayoutItem ,控制类型是从布局的内容派生出来的。

另请参阅

controlType()

abstract expandingDirections()#
返回类型:

Orientation 的组合

返回这个布局项是否能够利用比 sizeHint() 更多的空间。Qt::Vertical 或 Qt::Horizontal 的值表示它只想在一个维度上增长,而 Qt::Vertical | Qt::Horizontal 表示它想在两个维度上都增长。

abstract geometry()#
返回类型:

QRect

返回这个布局项所覆盖的矩形。

另请参阅

setGeometry()

hasHeightForWidth()#
返回类型:

bool

如果这个布局的最小高度取决于其宽度,则返回 true;否则返回 false。默认实现返回false。

在支持宽度高度的布局管理器中重写此函数。

heightForWidth(arg__1)#
参数::

arg__1 – int

返回类型:

int

警告:

这一节包含从 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()#
返回类型:

bool

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

layout()#
返回类型:

QLayout

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

另请参阅

spacerItem() widget()

abstract maximumSize()#
返回类型:

QSize

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

minimumHeightForWidth(arg__1)#
参数::

arg__1 – int

返回类型:

int

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

abstract minimumSize()#
返回类型:

QSize

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

setAlignment(a)#
参数::

aAlignmentFlag 的组合

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

注释

项目对齐仅在具有视觉效果的 QLayoutItem 子类中得到支持。除了 QSpacerItem (它为布局提供空白空间),所有继承自 QLayoutItem 的公共 Qt 类都支持项目对齐。

另请参阅

alignment()

abstract setGeometry(arg__1)#
参数::

arg__1QRect

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

另请参阅

geometry()

abstract sizeHint()#
返回类型:

QSize

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

spacerItem()#
返回类型:

QSpacerItem

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

另请参阅

layout() widget()

widget()#
返回类型:

QWidget

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

注释

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

另请参阅

layout() spacerItem()