- class QLayout#
-
继承自:
QStackedLayout
、QGridLayout
、QFormLayout
、QBoxLayout
、QVBoxLayout
、QHBoxLayout
摘要#
属性#
sizeConstraint
- 布局的调整模式spacing
- 布局内小部件之间的空间
方法#
def
__init__()
def
activate()
定义
addWidget()
定义
isEnabled()
定义
menuBar()
定义
removeItem()
定义
setEnabled()
定义
setMenuBar()
定义
update()
虚拟方法#
静态函数#
备注
此文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您看到翻译问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们
详细说明#
这是一个抽象基类,由具体类
QBoxLayout
,QGridLayout
,QFormLayout
和QStackedLayout
继承。对于使用《QLayout》子类或使用《QMainWindow》的用户,很少需要使用《QLayout》提供的基本功能,例如,《setSizeConstraint()">()》或《setMenuBar()">()》。有关更多信息,请参阅《布局管理》。
要创建自己的布局管理器,请实现《addItem()">()》、《sizeHint()">()》、《setGeometry()">()》、《itemAt()">()》和《takeAt()">()》函数。还应该实现《minimumSize()">()》以确保布局不会在小空间中调整到零大小。为了支持高度依赖于其宽度的子项,请实现《hasHeightForWidth()">()》和《heightForWidth()">()》。有关实现自定义布局管理器的更多信息,请参阅《FlowLayout》示例。
几何管理在布局管理器删除后停止。
另请参阅
QLayoutItem
Layout Management Basic Layouts Example FlowLayout Example- class SizeConstraint#
可能的值是
常量
描述
QLayout.SetDefaultConstraint
主小部件的最小尺寸设置为《minimumSize()">()》,除非小部件已具有最小尺寸。
QLayout.SetFixedSize
主小部件的大小设置为《sizeHint()">()》;它不能被调整。
QLayout.SetMinimumSize
主小部件的最小尺寸设置为《minimumSize()">()》;它不能更小。
QLayout.SetMaximumSize
主小部件的最大尺寸设置为
maximumSize()
,它不能更大。QLayout.SetMinAndMaxSize
主小部件的最小尺寸设置为
minimumSize()
,其最大尺寸设置为maximumSize()
。QLayout.SetNoConstraint
小部件没有约束。
另请参阅
备注
当使用
from __feature__ import true_property
时,可以直接使用属性,否则通过访问函数。- 属性sizeConstraintē: QLayout.SizeConstraint#
此属性持有布局的调整大小模式。
默认模式为
SetDefaultConstraint
。- 属性spacingē: int#
此属性持有布局内小部件之间的间距。
如果没有显式设置值,布局的间距将继承自父布局,或从父小部件的样式设置中继承。
对于
QGridLayout
和QFormLayout
,可以使用setHorizontalSpacing()
和setVerticalSpacing()
设置不同的水平和垂直间距。在这种情况下,spacing() 返回 -1。- 访问函数
构造一个新的顶级
QLayout
,带有父级parent
。布局直接设置为
parent
的顶级布局。一个 widget 只能有一个顶级布局。它通过layout()
方法返回。如果
parent
是None
,则必须将此布局插入到另一个布局中,或使用setLayout()
方法将其设置为 widget 的布局。另请参阅
- activate()#
- 返回类型:
布尔值
在需要的情况下重新执行
parentWidget()
的布局。通常不需要调用此方法,因为它会在最合适的时间自动调用。如果布局已重新执行,则返回 true。
另请参阅
此函数从子类的
addLayout()
或insertLayout()
函数中调用,以将布局childLayout
添加为子布局。你需要直接调用此函数的唯一情况是你实现了支持嵌套布局的自定义布局。
该函数由子类中的
addWidget()
函数调用,用于将w
添加为布局的管理小部件。如果
w
已由布局管理,则此函数将生成警告,并将w
从该布局中移除。因此,必须在使用w
添加到布局数据结构之前调用此函数。- 抽象addItem(arg__1)#
- 参数:
arg__1 –
QLayoutItem
在子类中实现,用于添加一个
item
。具体的添加方式由每个子类指定。该函数通常不在应用程序代码中调用。要将小部件添加到布局,请使用
addWidget()
函数;要添加子布局,请使用相关QLayout
子类提供的 addLayout() 函数。以布局特定的方式将小部件
w
添加到该布局中。此功能使用addItem()
。返回在将此布局的几何形状设置为
r
时应该覆盖的矩形,前提是此布局支持setAlignment()
。结果是从
sizeHint()
和expandingDirections()
得出的。它永远不会大于r
。返回一个满足对控件的所有尺寸约束的尺寸,并且尽可能接近
size
的尺寸。返回布局周围使用的边距。
默认情况下,
QLayout
使用提供由风格。在大多数平台上,边距为11像素,所有方向。另请参阅
属性
contentsMargins
的获取器。返回布局的
geometry()
矩形,但考虑到内容边距。- 抽象 count()#
- 返回类型:
int
必须在子类中实现以返回布局中项的数量。
另请参阅
- getContentsMargins()#
- 返回类型:
PyObject
对于每个不是
None
的left
、top
、right
和bottom
,将名称为边距大小的值存储在指针指向的位置。默认情况下,
QLayout
使用提供由风格。在大多数平台上,边距为11像素,所有方向。- indexOf(arg__1)#
- 参数:
arg__1 –
QLayoutItem
- 返回类型:
int
在当前布局中搜索布局项
layoutItem
(不包括子布局)。返回
layoutItem
的索引,如果找不到则返回-1。- indexOf(arg__1)
- 参数:
arg__1 –
QWidget
- 返回类型:
int
在当前布局中搜索小部件
widget
(不包括子布局)。返回
widget
的索引,如果找不到则返回-1。默认实现使用
itemAt()
遍历所有项目。- isEnabled()#
- 返回类型:
布尔值
如果布局启用,则返回
true
;否则返回false
。另请参阅
- 抽象itemAt(index)#
- 参数:
index – int
- 返回类型:
警告
本节包含自动从C++翻译到Python的代码片段,可能包含错误。
必须在子类中实现它以返回索引为
index
的布局项。如果没有这样的项,则函数必须返回None
。项目按顺序从0编号。如果删除了某个项目,其他项目将会重新编号。此函数可以用来遍历布局。以下代码将绘制widget布局结构的每个布局项的矩形。
- 返回类型:
返回此布局设置的菜单栏,如果没有设置菜单栏,则返回
None
。另请参阅
返回此布局的父组件,如果此布局没有被安装在任何一个组件上,则返回
None
。如果布局是子布局,此函数将返回父布局的父组件。
另请参阅
- removeItem(arg__1)#
- 参数:
arg__1 –
QLayoutItem
从布局中删除布局项目
item
。删除项的责任在于调用者。请注意,
item
可以是一个布局(因为QLayout
继承了QLayoutItem
)。另请参阅
从布局中删除组件
widget
。在此调用后,调用者有责任为组件提供一个合理的几何形状,或将组件放回布局中,如在必要时显式隐藏它。- replaceWidget(from, to[, options=Qt.FindChildrenRecursively])#
- 参数:
from –
QWidget
to –
QWidget
options –
FindChildOption
的组合
- 返回类型:
在布局中搜索 widget
from
,如果找到则替换为 widgetto
。如果成功,则返回包含 widgetfrom
的布局项。否则返回None
。如果options
包含Qt::FindChildrenRecursively
(默认值),则会搜索子布局进行替换。忽略options
中的其他标志。请注意,因此返回的项目可能不属于此布局,而是属于子布局。
返回的布局项不再由布局拥有,应该删除或将其插入另一个布局中。widget
from
不再由布局管理,可能需要删除或隐藏。widgetfrom
的父级保持不变。此函数适用于内置的 Qt 布局,但可能不适用于自定义布局。
另请参阅
- setAlignment(l, alignment)#
- 参数:
l –
QLayout
alignment –
AlignmentFlag
的组合
- 返回类型:
布尔值
这是一个重载函数。
将布局
l
的对齐方式设置为alignment
并返回true
,如果在此布局中找到l
(不包括子布局);否则返回false
。- setAlignment(w, alignment)
- 参数:
w –
QWidget
alignment –
AlignmentFlag
的组合
- 返回类型:
布尔值
将 widget
w
的对齐方式设置为alignment
并返回true
,如果在此布局中找到w
(不包括子布局);否则返回false
。将
margins
设置为围绕布局使用的外边距。默认情况下,
QLayout
使用提供由风格。在大多数平台上,边距为11像素,所有方向。另请参阅
属性
contentsMargins
的设置器。- setContentsMargins(left, top, right, bottom)
- 参数:
left – int
top – int
right – int
bottom – int
将布局周围使用的
left
、top
、right
和bottom
外边距设置为。默认情况下,
QLayout
使用提供由风格。在大多数平台上,边距为11像素,所有方向。- setEnabled(arg__1)#
- 参数:
arg__1 – bool
如果
enable
为真,则启用此布局,否则禁用它。启用的布局会动态调整到变化;禁用的布局将表现得像不存在一样。
默认情况下,所有布局都是启用的。
另请参阅
告诉几何管理器将菜单栏
widget
放置在parentWidget()
的顶部,在contentsMargins()
之外。所有子小部件都放置在菜单栏的底部边缘下方。另请参阅
- setSizeConstraint(arg__1)#
- 参数:
arg__1 –
SizeConstraint
另请参阅
属性
sizeConstraintᅟ
的设置器。属性
spacingᅟ
的设置器。- sizeConstraint()#
- 返回类型:
另请参阅
属性
sizeConstraintᅟ
的获取器。- spacing()#
- 返回类型:
int
另请参阅
属性
spacingᅟ
的获取器。- abstract takeAt(index)#
- 参数:
index – int
- 返回类型:
警告
本节包含自动从C++翻译到Python的代码片段,可能包含错误。
必须在子类中实现,用于从布局中移除位于
index
位置的布局项,并返回该项。如果没有这样的项,函数必须不执行任何操作并返回 0。项将从 0 开始连续编号。如果移除了一个项,其他项将被重新编号。以下代码片段显示了从布局中移除所有项的安全方法
- totalHeightForWidth(w)#
- 参数:
w – int
- 返回类型:
int
- totalMinimumHeightForWidth(w)#
- 参数:
w – int
- 返回类型:
int
- unsetContentsMargins()#
取消设置布局周围的用户定义边距。布局将使用样式提供默认值。
另请参阅
属性
contentsMarginsᅟ
的重置函数。- update()#
更新
parentWidget()
的布局。通常不必调用此方法,因为它会在最适当的时机自动调用。
另请参阅
activate()
invalidate()