- class QBoxLayout#
QBoxLayout 类将子部件水平或垂直排列。更多...
继承自: QVBoxLayout, QHBoxLayout
概览#
方法#
def __init__(self)
def addLayout(self)
def addSpacerItem(self)
def addSpacing(self)
def addStretch(self)
def addStrut(self)
def addWidget(self)
def direction(self)
def insertItem(self)
def insertLayout(self)
定义
setStretch()
定义
stretch()
注意
此文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译中存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建ticket来告知我们。
详细描述#
QBoxLayout
接收其从父布局或从parentWidget()
返回的空间),将其分成一系列盒子,并使每个管理的控件填充一个盒子。如果
QBoxLayout
的方向是 Qt::Horizontal,则盒子将按适宜的尺寸排成一排。每个控件(或其他盒子)将至少获得其最小尺寸,至多获得其最大尺寸。任何额外的空间将根据扩展因子共享(关于这一点在下面会有更多讨论)。如果
QBoxLayout
的方向是 Qt::Vertical,则盒子将按适宜的大小排成一列。创建一个
QBoxLayout
的最简单方法之一是使用便捷类之一,例如QHBoxLayout
(用于水平框)或QVBoxLayout
(用于垂直框)。您还可以直接使用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.FromLeftToRight
水平从左到右。
QBoxLayout.FromRightToLeft
水平从右到左。
QBoxLayout.FromTopToBottom
垂直从上到下。
QBoxLayout.FromBottomToTop
从下到上垂直。
构造一个具有方向
dir
和父窗口parent
的新QBoxLayout
。布局直接设置为
parent
的顶级布局。一个窗口只能有一个顶级布局。可以通过layout()
方法获取。另请参阅
将
layout
添加到框的末尾,具有序列扩展因子stretch
。另请参阅
insertLayout()
addItem()
addWidget()
- addSpacerItem(spacerItem)#
- 参数:
spacerItem -
QSpacerItem
将
spacerItem
添加到这个框布局的末尾。另请参阅
- addSpacing(size)#
- 参数:
size - 整数
在当前盒式布局的末尾添加一个不可伸缩的空间(一个
QSpacerItem
)。其大小为size
。QBoxLayout
提供默认边距和间距。此函数添加额外的空间。另请参阅
insertSpacing()
addItem()
QSpacerItem
- addStretch([stretch=0])#
- 参数:
stretch - 整数
在当前盒式布局的末尾添加一个可伸缩的空间(一个
QSpacerItem
),其最小大小为零和伸缩因子stretch
。另请参阅
insertStretch()
addItem()
QSpacerItem
- addStrut(arg__1)#
- 参数:
arg__1 – int
将盒式布局的垂直尺寸(例如,如果盒式布局方向为
LeftToRight
则为高度)限制为最小size
。其他约束可能会增加此限制。另请参阅
addItem()
- addWidget(arg__1[, stretch=0[, alignment=Qt.Alignment()]])#
- 参数:
arg__1 –
QWidget
stretch - 整数
alignment –
AlignmentFlag
的组合
将
widget
添加到当前盒式布局的末尾,带有伸缩因子stretch
和对齐方式alignment
。伸缩因子仅在
direction
的QBoxLayout
中应用,并且相对于此QBoxLayout
中的其他盒式和控件。伸缩因子较高的控件和盒式会增长得更多。如果拉伸因子为 0,并且
QBoxLayout
中没有其他有大于零的拉伸因子的项,则空间将根据每个参与 widget 的QWidget
:sizePolicy() 分布。对齐方式由
alignment
指定。默认对齐方式为 0,意味着 widget 填充整个单元格。另请参阅
insertWidget()
addItem()
addLayout()
addStretch()
addSpacing()
addStrut()
返回盒子的方向。在此方向上,
addWidget()
和addSpacing()
作用;拉伸也在此方向上。- insertItem(index, arg__2)#
- 参数:
index – int
arg__2 –
QLayoutItem
在位置
index
处将该item
插入到此盒式布局中。如果index
为负数,则项将添加到末尾。另请参阅
addItem()
insertWidget()
insertLayout()
insertStretch()
insertSpacing()
在指定位置
index
插入layout
,并具有拉伸因子stretch
。如果index
为负值,则布局将被添加到末尾。layout
成为框布局的子布局。另请参阅
- insertSpacerItem(index, spacerItem)#
- 参数:
index – int
spacerItem -
QSpacerItem
在指定位置
index
插入spacerItem
,最小尺寸为零,拉伸因子为零。如果index
为负值,则空间将被添加到末尾。- insertSpacing(index, size)#
- 参数:
index – int
size - 整数
在指定位置
index
插入一个非可拉伸的空间(一个QSpacerItem
),大小为size
。如果index
为负值,则空间将被添加到末尾。框布局具有默认的间距和边距。此函数添加额外的空间。
- insertStretch(index[, stretch=0])#
- 参数:
index – int
stretch - 整数
在位置
index
插入可伸缩的空间(一个QSpacerItem
),最小尺寸为零,拉伸因子为stretch
。如果index
为负值,空间将添加在末尾。- insertWidget(index, widget[, stretch=0[, alignment=Qt.Alignment()]])#
- 参数:
index – int
widget –
QWidget
stretch - 整数
alignment –
AlignmentFlag
的组合
在位置
index
插入widget
,具有拉伸因子stretch
和对齐方式alignment
。如果index
为负值,则部件将添加在末尾。伸缩因子仅在
direction
的QBoxLayout
中应用,并且相对于此QBoxLayout
中的其他盒式和控件。伸缩因子较高的控件和盒式会增长得更多。如果拉伸因子为 0,并且
QBoxLayout
中没有其他有大于零的拉伸因子的项,则空间将根据每个参与 widget 的QWidget
:sizePolicy() 分布。对齐方式由
alignment
指定。默认对齐方式为 0,意味着 widget 填充整个单元格。另请参阅
设置此布局的方向为
direction
。另请参阅
- setStretch(index, stretch)#
- 参数:
index – int
stretch - 整数
将位置
index
处的拉伸因子设置为stretch
。另请参阅
这是一个重载函数。
设置布局
layout
的扩展因子为stretch
,并且如果layout
被找到在该布局中(不包括子布局),则返回true
;否则返回false
。- setStretchFactor(w, stretch)
- 参数:
w –
QWidget
stretch - 整数
- 返回类型:
bool
设置
widget
的扩展因子为stretch
。如果widget
被找到在该布局中(不包括子布局),则返回true
;否则返回false
。另请参阅
- stretch(index)#
- 参数:
index – int
- 返回类型:
int
返回位置
index
的扩展因子。另请参阅