PySide6.QtWidgets.QBoxLayout¶
- class QBoxLayout¶
QBoxLayout类将子部件水平或垂直排列。更多…继承者:
QVBoxLayout,QHBoxLayout概要¶
方法¶
def
__init__()def
addLayout()def
addSpacerItem()def
addSpacing()def
addStretch()def
addStrut()def
addWidget()def
direction()def
insertItem()def
insertLayout()def
insertSpacing()def
insertStretch()def
insertWidget()def
setDirection()def
setStretch()def
stretch()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QBoxLayout获取它从父布局或parentWidget()中得到的空间,将其划分为一行盒子,并使每个管理的部件填充一个盒子。
如果
QBoxLayout的方向是Qt::Horizontal,那么这些盒子将排成一行,并具有合适的大小。每个小部件(或其他盒子)将至少获得其最小大小,最多获得其最大大小。任何多余的空间将根据拉伸因子进行分配(更多内容见下文)。
如果
QBoxLayout的方向是Qt::Vertical,这些框将被放置在一列中,同样具有合适的大小。创建
QBoxLayout的最简单方法是使用其中一个便捷类,例如QHBoxLayout(用于Qt::Horizontal盒子)或QVBoxLayout(用于Qt::Vertical盒子)。你也可以直接使用QBoxLayout构造函数,指定其方向为LeftToRight、RightToLeft、TopToBottom或BottomToTop。如果
QBoxLayout不是顶级布局(即它不管理所有小部件的区域和子部件),你必须先将其添加到其父布局中,然后才能对其进行任何操作。添加布局的常规方法是通过调用parentLayout->addLayout()。完成此操作后,您可以使用以下四个函数之一将框添加到
QBoxLayout中:addWidget()用于向QBoxLayout添加一个小部件并设置小部件的拉伸因子。(拉伸因子是沿着盒子行的。)addSpacing()用于创建一个空盒子;这是您用来创建美观且宽敞的对话框的函数之一。有关设置边距的方法,请参见下文。addStretch()用于创建一个空的、可拉伸的盒子。addLayout()用于向行中添加一个包含另一个QLayout的框,并设置该布局的拉伸因子。
使用
insertWidget()、insertSpacing()、insertStretch()或insertLayout()在布局的指定位置插入一个框。QBoxLayout还包括两个边距宽度:setContentsMargins()设置小部件每侧外边界的宽度。这是沿QBoxLayout的四个边保留的空间的宽度。setSpacing()设置相邻框之间的宽度。(你可以使用addSpacing()在特定位置获得更多空间。)
边距默认值由样式提供。大多数Qt样式为子部件指定的默认边距为9,为窗口指定的默认边距为11。间距默认值与顶级布局的边距宽度相同,或者与父布局的边距宽度相同。
要从布局中移除一个小部件,调用
removeWidget()。在小部件上调用hide()也会有效地将该小部件从布局中移除,直到调用show()。你几乎总是会想要使用
QVBoxLayout和QHBoxLayout而不是QBoxLayout,因为它们有方便的构造函数。- class Direction¶
此类型用于确定盒子布局的方向。
常量
描述
QBoxLayout.LeftToRight
水平从左到右。
QBoxLayout.RightToLeft
水平方向从右到左。
QBoxLayout.TopToBottom
从上到下的垂直方向。
QBoxLayout.BottomToTop
垂直从下到上。
构造一个新的
QBoxLayout,方向为dir,父部件为parent。布局直接设置为
parent的顶级布局。一个部件只能有一个顶级布局。它由layout()返回。另请参阅
将
layout添加到盒子的末尾,具有序列拉伸因子stretch。另请参阅
insertLayout()addItem()addWidget()- addSpacerItem(spacerItem)¶
- Parameters:
spacerItem –
QSpacerItem
将
spacerItem添加到此框布局的末尾。另请参阅
- addSpacing(size)¶
- Parameters:
size – int
向此框布局的末尾添加一个不可拉伸的空间(一个
QSpacerItem),大小为size。QBoxLayout提供了默认的边距和间距。此函数添加额外的空间。另请参阅
insertSpacing()addItem()QSpacerItem- addStretch([stretch=0])¶
- Parameters:
stretch – 整数
在此框布局的末尾添加一个可拉伸的空间(一个
QSpacerItem),其最小尺寸为零,拉伸因子为stretch。另请参阅
insertStretch()addItem()QSpacerItem- addStrut(size)¶
- Parameters:
size – int
限制盒子的垂直尺寸(例如,如果盒子是
LeftToRight,则为高度)至少为size。其他约束可能会增加此限制。另请参阅
addItem()- addWidget(widget[, stretch=0[, alignment=Qt.Alignment()]])¶
- Parameters:
widget –
QWidgetstretch – int
alignment –
AlignmentFlag的组合
将
widget添加到此框布局的末尾,拉伸因子为stretch,对齐方式为alignment。拉伸因子仅适用于
QBoxLayout的方向,并且相对于此QBoxLayout中的其他框和小部件。具有较高拉伸因子的小部件和框会增长得更多。如果拉伸因子为0,并且
QBoxLayout中没有其他元素的拉伸因子大于零,则空间将根据涉及的每个小部件的QWidget:sizePolicy()进行分配。对齐方式由
alignment指定。默认对齐方式为0,这意味着小部件将填充整个单元格。另请参阅
insertWidget()addItem()addLayout()addStretch()addSpacing()addStrut()返回盒子的方向。
addWidget()和addSpacing()在这个方向上工作;拉伸也是在这个方向上进行的。- insertItem(index, item)¶
- Parameters:
index – 整数
项目 –
QLayoutItem
将
item插入到此盒布局中的位置index。如果index为负数,则项目将添加在末尾。另请参阅
addItem()insertWidget()insertLayout()insertStretch()insertSpacing()在位置
index插入layout,拉伸因子为stretch。如果index为负数,则布局将添加到末尾。layout成为盒子布局的子元素。另请参阅
- insertSpacerItem(index, spacerItem)¶
- Parameters:
index – 整数
spacerItem –
QSpacerItem
在位置
index插入spacerItem,具有零最小尺寸和拉伸因子。如果index为负数,则空间将添加在末尾。- insertSpacing(index, size)¶
- Parameters:
index – 整数
size – int
在位置
index插入一个不可拉伸的空间(一个QSpacerItem),大小为size。如果index为负数,则空间将添加到末尾。盒子布局有默认的边距和间距。此函数添加额外的空间。
- insertStretch(index[, stretch=0])¶
- Parameters:
index – 整数
stretch – int
在位置
index插入一个可伸缩的空间(一个QSpacerItem),最小尺寸为零,伸缩因子为stretch。如果index为负数,则空间将添加到末尾。- insertWidget(index, widget[, stretch=0[, alignment=Qt.Alignment()]])¶
- Parameters:
index – 整数
widget –
QWidgetstretch – int
alignment –
AlignmentFlag的组合
在位置
index插入widget,拉伸因子为stretch,对齐方式为alignment。如果index为负数,则小部件将添加到末尾。拉伸因子仅适用于
QBoxLayout的方向,并且相对于此QBoxLayout中的其他框和小部件。具有较高拉伸因子的小部件和框会增长得更多。如果拉伸因子为0,并且
QBoxLayout中没有其他元素的拉伸因子大于零,则空间将根据涉及的每个小部件的QWidget:sizePolicy()进行分配。对齐方式由
alignment指定。默认对齐方式为0,这意味着小部件将填充整个单元格。另请参阅
设置此布局的方向为
direction。另请参阅
- setStretch(index, stretch)¶
- Parameters:
index – 整数
stretch – int
设置位置
index的拉伸因子为stretch。另请参阅
这是一个重载函数。
将布局
layout的拉伸因子设置为stretch,如果在此布局中找到layout(不包括子布局),则返回true;否则返回false。- setStretchFactor(w, stretch)
- Parameters:
w –
QWidgetstretch – int
- Return type:
布尔
将
widget的拉伸因子设置为stretch,如果在此布局中找到widget(不包括子布局),则返回true;否则返回false。另请参阅
- stretch(index)¶
- Parameters:
索引 – int
- Return type:
整数
返回位置
index处的拉伸因子。另请参阅