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 –
QWidget
stretch – 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 –
QWidget
stretch – 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 –
QWidget
stretch – int
- Return type:
布尔
将
widget
的拉伸因子设置为stretch
,如果在此布局中找到widget
(不包括子布局),则返回true
;否则返回false
。另请参阅
- stretch(index)¶
- Parameters:
索引 – int
- Return type:
整数
返回位置
index
处的拉伸因子。另请参阅