class QGraphicsGridLayout#

QGraphicsGridLayout 类提供了一个图形视图中的网格布局来管理小部件。更多

Inheritance diagram of PySide6.QtWidgets.QGraphicsGridLayout

概要#

方法#

注意

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

详细描述#

警告

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

使用 QGraphicsGridLayout 的最常见方法是在堆上构造一个对象,将父小部件传递给构造函数,然后通过调用 addItem() 向布局中添加小部件。当添加项目时,QGraphicsGridLayout 会自动计算网格的尺寸。

scene = QGraphicsScene()
textEdit = scene.addWidget(QTextEdit())
pushButton = scene.addWidget(QPushButton())
form = QGraphicsWidget()
scene.addItem(form)
layout = QGraphicsGridLayout(form)
layout.addItem(textEdit, 0, 0)
layout.addItem(pushButton, 0, 1)

如果您未将父小部件传递给布局的构造函数,则需要调用 setLayout() 以设置该布局为该组件的顶级布局,该小部件将拥有该布局。

布局拥有项目的所有权。在某些情况下,当布局项也继承自 QGraphicsItem(例如 QGraphicsWidget)时,由于布局项属于两个所有权层级,因此可能出现所有权的不确定性。有关如何处理这种情况,请参阅setOwnedByLayout()的文档。您可以通过调用count()itemAt()来访问布局中的每个项目。调用removeAt()将从布局中移除项目,而不会将其销毁。

QGraphicsGridLayout中的大小提示和大小策略#

QGraphicsGridLayout 遵守每个项目的尺寸提示和尺寸策略,并且当网格中的一个单元格有比物品能填充的更多空间时,每个物品都会根据该物品的布局对齐方式排列。您可以通过调用setAlignment()来为每个项目设置一个对齐方式,并且通过调用alignment()来检查任何项目的对齐方式。您还可以通过调用setRowAlignment()setColumnAlignment()来分别设置整个行或列的对齐方式。默认情况下,项目将对齐到左上角。

__init__([parent=None])#
参数:

parent - QGraphicsLayoutItem

构建一个 QGraphicsGridLayout 实例。将parent传递给QGraphicsLayout构造函数。

addItem(item, row, column[, alignment=Qt.Alignment()])#
参数:

item 添加到网格中指定行和列。可以为 item 指定可选的对齐方式。

addItem(item, row, column, rowSpan, columnSpan[, alignment=Qt.Alignment()])
参数:

item 添加到网格中指定行和列。可以指定 rowSpancolumnSpan,以及可选的对齐方式。

alignment(item)#
参数:

itemQGraphicsLayoutItem

返回类型:

AlignmentFlag 的组合

返回 item 的对齐方式。

另请参阅

setAlignment()

columnAlignment(column)#
参数:

column – int

返回类型:

AlignmentFlag 的组合

返回 column 的对齐方式。

另请参阅

setColumnAlignment()

columnCount()#
返回类型:

int

返回网格布局中的列数。这总是大于被布局项目占用(空列计数,但除了最后的列)的最后一个列的索引。

columnMaximumWidth(column)#
参数:

column – int

返回类型:

float

返回 column 的最大宽度。

columnMinimumWidth(column)#
参数:

column – int

返回类型:

float

返回指定column的最小宽度。

columnPreferredWidth(column)#
参数:

column – int

返回类型:

float

返回指定column的首选宽度。

columnSpacing(column)#
参数:

column – int

返回类型:

float

返回指定column的列间距。

另请参阅

setColumnSpacing()

columnStretchFactor(column)#
参数:

column – int

返回类型:

int

返回指定column的拉伸因子。

horizontalSpacing()#
返回类型:

float

返回栅格布局的默认水平间距。

另请参阅

setHorizontalSpacing()

itemAt(row, column)#
参数:
  • row – int

  • column – int

返回类型:

QGraphicsLayoutItem

返回位于(row, column)布局项的指针。

removeItem(item)#
参数:

itemQGraphicsLayoutItem

删除布局项item而不销毁它。项的所有权转移给调用者。

另请参阅

addItem()

rowAlignment(row)#
参数:

row – int

返回类型:

AlignmentFlag 的组合

返回指定row的对齐方式。

另请参阅

setRowAlignment()

rowCount()#
返回类型:

int

返回栅格布局中的行数。这总是最后一个被布局项占用的行的索引加一(除了末尾的空行)。

rowMaximumHeight(row)#
参数:

row – int

返回类型:

float

返回行row的最大高度。

另请参阅

setRowMaximumHeight()

rowMinimumHeight(row)#
参数:

row – int

返回类型:

float

返回行row的最小高度。

另请参阅

setRowMinimumHeight()

rowPreferredHeight(row)#
参数:

row – int

返回类型:

float

返回指定行为 row 的首选高度。

rowSpacing(row)#
参数:

row – int

返回类型:

float

返回为 row 设置的行间距。

另请参阅

setRowSpacing()

rowStretchFactor(row)#
参数:

row – int

返回类型:

int

返回 row 的伸缩因子。

另请参阅

setRowStretchFactor()

setAlignment(item, alignment)#
参数:

item 的对齐设置为 alignment

另请参阅

alignment()

setColumnAlignment(column, alignment)#
参数:

column 的对齐设置为 alignment

另请参阅

columnAlignment()

setColumnFixedWidth(column, width)#
参数:
  • column – int

  • width – float

column 的固定宽度设置为 width

setColumnMaximumWidth(column, width)#
参数:
  • column – int

  • width – float

column 的最大宽度设置为 width

另请参阅

columnMaximumWidth()

setColumnMinimumWidth(column, width)#
参数:
  • column – int

  • width – float

column 的最小宽度设置为 width

另请参阅

columnMinimumWidth()

setColumnPreferredWidth(column, width)#
参数:
  • column – int

  • width – float

column 的首选宽度设置为 width

另请参阅

columnPreferredWidth()

setColumnSpacing(column, spacing)
参数:
  • column – int

  • spacing – float

将列的间距设置为 spacing

setColumnStretchFactor(column, stretch)
参数:
  • column – int

  • stretch – int

将列的拉伸因子设置为 stretch

setHorizontalSpacing(spacing)
参数:

spacing – float

将网格布局的默认水平间距设置为 spacing

setRowAlignment(row, alignment)
参数:

设置行的对齐方式为 alignment

另请参阅

rowAlignment()

setRowFixedHeight(row, height)
参数:
  • row – int

  • height – float

将行的高度设置为 height

setRowMaximumHeight(row, height)
参数:
  • row – int

  • height – float

将行的高度设置为 height

setRowMinimumHeight(row, height)
参数:
  • row – int

  • height – float

将行的高度设置为 height

setRowPreferredHeight(row, height)
参数:
  • row – int

  • height – float

将行的高度设置为 height

setRowSpacing(row, spacing)
参数:
  • row – int

  • spacing – float

将行的间距设置为 spacing

setRowStretchFactor(row, stretch)#
参数:
  • row – int

  • stretch – int

设置行 row 的伸展系数为 stretch

另请参阅

rowStretchFactor()

setSpacing(spacing)#
参数:

spacing – float

设置网格布局的默认间距(水平和垂直),为 spacing

setVerticalSpacing(spacing)#
参数:

spacing – float

设置网格布局的默认垂直间距为 spacing

另请参阅

verticalSpacing()

verticalSpacing()#
返回类型:

float

返回网格布局的默认垂直间距。

另请参阅

setVerticalSpacing()