PySide6.QtWidgets.QGraphicsLinearLayout¶
- class QGraphicsLinearLayout¶
QGraphicsLinearLayout类提供了一个水平或垂直的布局,用于在图形视图中管理小部件。更多…概要¶
方法¶
def
__init__()def
addItem()def
addStretch()def
alignment()def
dump()def
insertItem()def
insertStretch()def
itemSpacing()def
orientation()def
removeItem()def
setAlignment()def
setItemSpacing()def
setOrientation()def
setSpacing()def
spacing()def
stretchFactor()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
线性布局的默认方向是Qt::Horizontal。你可以通过调用
setOrientation(),或者通过将Qt::Vertical传递给QGraphicsLinearLayout的构造函数来选择垂直方向。使用
QGraphicsLinearLayout最常见的方法是在堆上构造一个对象,将父窗口小部件传递给构造函数,然后通过调用addItem()来添加窗口小部件和布局。scene = QGraphicsScene() textEdit = scene.addWidget(QTextEdit()) pushButton = scene.addWidget(QPushButton()) form = QGraphicsWidget() scene.addItem(form) layout = QGraphicsLinearLayout(form) layout.addItem(textEdit) layout.addItem(pushButton)
或者,如果您没有将父部件传递给布局的构造函数,您将需要调用
setLayout()来将此布局设置为该部件的顶级布局,该部件将拥有该布局的所有权。你可以向线性布局添加小部件、布局、拉伸(
addStretch()、insertStretch()或setStretchFactor())和间距(setItemSpacing())。布局将拥有这些项目的所有权。在某些情况下,当布局项目也继承自QGraphicsItem(如QGraphicsWidget)时,所有权会出现歧义,因为布局项目属于两个所有权层次结构。请参阅setOwnedByLayout()的文档以了解如何处理此问题。你可以通过调用count()和itemAt()来访问布局中的每个项目。调用removeAt()或removeItem()将从布局中移除一个项目,但不会销毁它。QGraphicsLinearLayout中的大小提示和大小策略¶
QGraphicsLinearLayout尊重每个项目的大小提示和大小策略,当布局包含的空间超过项目可以填充的空间时,每个项目将根据该项目的布局对齐方式进行排列。您可以通过调用setAlignment()为每个项目设置对齐方式,并通过调用alignment()检查任何项目的对齐方式。默认情况下,项目对齐到左上角。QGraphicsLinearLayout 中的间距¶
在项目之间,布局会分配一些空间。实际的空间量取决于管理的小部件的当前样式,但常见的间距是4。您也可以通过调用
setSpacing()来设置自己的间距,并通过调用spacing()来获取当前的间距值。如果您想为您的项目配置单独的间距,您可以调用setItemSpacing()。QGraphicsLinearLayout中的拉伸因子¶
您可以为每个项目分配一个拉伸因子,以控制它与其他项目相比将获得多少空间。默认情况下,排列在线性布局中的两个相同的小部件将具有相同的大小,但如果第一个小部件的拉伸因子为1,第二个小部件的拉伸因子为2,则第一个小部件将获得可用空间的1/3,第二个小部件将获得2/3。
QGraphicsLinearLayout通过将所有项目的拉伸因子相加,然后相应地分配可用空间来计算大小的分布。所有项目的默认拉伸因子为0;因子为0意味着该项目没有任何定义的拉伸因子;实际上这与将拉伸因子设置为1相同。拉伸因子仅适用于布局长度方向上的可用空间(遵循其方向)。如果您想同时控制项目的水平和垂直拉伸,可以使用QGraphicsGridLayout。QGraphicsLinearLayout 与其他布局的比较¶
QGraphicsLinearLayout与QVBoxLayout和QHBoxLayout非常相似,但与这些类不同的是,它用于管理QGraphicsWidget和QGraphicsLayout,而不是QWidget和QLayout。- __init__([parent=None])¶
- Parameters:
父级 –
QGraphicsLayoutItem
使用Qt::Horizontal方向构造一个
QGraphicsLinearLayout实例。parent被传递给QGraphicsLayout的构造函数。- __init__(orientation[, parent=None])
- Parameters:
orientation –
Orientationparent –
QGraphicsLayoutItem
构建一个
QGraphicsLinearLayout实例。你可以传递布局的orientation,可以是水平或垂直,parent则传递给QGraphicsLayout的构造函数。- addItem(item)¶
- Parameters:
项目 –
QGraphicsLayoutItem
这个便捷函数等同于调用
insertItem(-1,item)。- addStretch([stretch=1])¶
- Parameters:
stretch – 整数
这个便捷函数等同于调用
insertStretch(-1,stretch)。- alignment(item)¶
- Parameters:
项目 –
QGraphicsLayoutItem- Return type:
AlignmentFlag的组合
返回
item的对齐方式。默认对齐方式是Qt::AlignTop | Qt::AlignLeft。对齐方式决定了在布局中有比小部件可以占据的更多空间的情况下,项目如何在其分配的空间内定位。
另请参阅
- dump([indent=0])¶
- Parameters:
缩进 – int
- insertItem(index, item)¶
- Parameters:
index – 整数
项目 –
QGraphicsLayoutItem
将
item插入到布局中的index位置,或者插入到当前位于index位置的任何项目之前。另请参阅
addItem()itemAt()insertStretch()setItemSpacing()- insertStretch(index[, stretch=1])¶
- Parameters:
index – 整数
stretch – int
在
index处插入一段stretch,或在当前位于index的任何项目之前插入。- itemSpacing(index)¶
- Parameters:
索引 – int
- Return type:
浮点数
返回在
index处项目之后的间距。另请参阅
返回布局方向。
另请参阅
- removeItem(item)¶
- Parameters:
项目 –
QGraphicsLayoutItem
从布局中移除
item而不销毁它。item的所有权转移给调用者。另请参阅
removeAt()insertItem()- setAlignment(item, alignment)¶
- Parameters:
项目 –
QGraphicsLayoutItemalignment –
AlignmentFlag的组合
将
item的对齐方式设置为alignment。如果item的对齐方式发生变化,布局将自动失效。另请参阅
alignment()invalidate()- setItemSpacing(index, spacing)¶
- Parameters:
index – 整数
spacing – 浮点数
将
index处的项目后的间距设置为spacing。另请参阅
- setOrientation(orientation)¶
- Parameters:
方向 –
Orientation
将布局方向更改为
orientation。更改布局方向将自动使布局无效。另请参阅
- setSpacing(spacing)¶
- Parameters:
间距 – float
将布局的间距设置为
spacing。间距指的是项目之间的垂直和水平距离。- setStretchFactor(item, stretch)¶
- Parameters:
项目 –
QGraphicsLayoutItemstretch – int
将
item的拉伸因子设置为stretch。如果项目的拉伸因子发生变化,此函数将使布局无效。将
stretch设置为0会从项目中移除拉伸因子,实际上等同于将stretch设置为1。另请参阅
- spacing()¶
- Return type:
浮点数
返回布局的间距。间距指的是项目之间的垂直和水平距离。
另请参阅
- stretchFactor(item)¶
- Parameters:
项目 –
QGraphicsLayoutItem- Return type:
整数
返回
item的拉伸因子。默认的拉伸因子是0,意味着该项目没有分配拉伸因子。另请参阅