PyQt5如何在垂直布局的指定顶部位置添加Widget控件
解决方法
你现在使用的addWidget()方法默认会将控件追加到布局的元素队列末尾,所以新增控件会出现在原有spacer的下方。要将控件插入到布局最顶部,改用insertWidget()方法指定插入位置为0即可。
替换代码
把你当前的添加代码:
frame.vert_layout.addWidget(wid)
替换为:
# 第一个参数0代表插入到布局的第0位(即最顶部) frame.vert_layout.insertWidget(0, wid)
补充说明
垂直布局内的所有元素(包括控件、spacer)从上到下的索引从0开始依次递增,插入到索引0位置后,原有元素会自动依次后移一位,不会影响原有布局的元素顺序逻辑。如果需要同时指定拉伸系数、对齐规则等参数,也可以在方法后追加对应参数,示例:
# 示例:插入到顶部,拉伸系数为0,顶部对齐 frame.vert_layout.insertWidget(0, wid, 0, Qt.AlignTop)
内容的提问来源于stack exchange,提问作者LazyBum Q
相关产品推荐
相关产品推荐

