控制 PyQt QFormLayout 中的小部件放置

Posted

技术标签:

【中文标题】控制 PyQt QFormLayout 中的小部件放置【英文标题】:Controlling Widget Placement inside PyQt QFormLayout 【发布时间】:2014-01-30 20:07:28 【问题描述】:

一个简单的QtGui.QListWidget 放在QtGui.QFormLayout 内。

此列表小部件的侧面与主对话框的侧面边缘完美贴合,而不是对话框的底部或顶部边缘。列表小部件仅在主对话框窗口变宽或变窄时才重新调整大小,而不是在它变高或变短时。

我们怎样才能让QFormLayout 内的小部件粘在对话框窗口的底部边缘?

【问题讨论】:

【参考方案1】:

使用QSizePolicy.setVerticalStretch:

import PyQt4.QtGui as gui

app = gui.QApplication([])

w = gui.QWidget()

la = gui.QFormLayout()
w.setLayout(la)

tw = gui.QTreeWidget()
sp = tw.sizePolicy()
sp.setVerticalStretch(1)
tw.setSizePolicy(sp)

la.addWidget(tw)

w.show()

app.exec_()

【讨论】:

以上是关于控制 PyQt QFormLayout 中的小部件放置的主要内容,如果未能解决你的问题,请参考以下文章

如何在pyqt5中连续插入2个以上的小部件

QFormLayout的PyQt5顶行没有响应鼠标点击

pyqt - 如何从状态栏中的小部件中删除边框?

多个文件中的 PyQt 小部件

PyQt 中的半可调整大小的小部件

将 MouseDoubleClickEvent 添加到 PyQt5 中的 for 循环中制作的小部件 [重复]