Python PySide:“;“动态”;GUI上按钮的定位?

Python PySide:“;“动态”;GUI上按钮的定位?,python,pyside,Python,Pyside,我正在OSX 10.8上使用python 2.7.5。我正在学习PySide并尝试构建一个简单的GUI 我设法使用按钮(WOAAA!)来选择路径或执行函数: pathBtn = QtGui.QPushButton("FITS file path", self) pathBtn.setToolTip('Choose the <b>path</b> to your FITS file') pathBtn.clicked.connect(essai) pathBtn.resiz

我正在OSX 10.8上使用python 2.7.5。我正在学习PySide并尝试构建一个简单的GUI

我设法使用按钮(WOAAA!)来选择路径或执行函数:

pathBtn = QtGui.QPushButton("FITS file path", self)
pathBtn.setToolTip('Choose the <b>path</b> to your FITS file')
pathBtn.clicked.connect(essai)
pathBtn.resize(pathBtn.sizeHint())
pathBtn.move(200, 100) 
pathBtn=QtGui.QPushButton(“适合文件路径”,self)
setToolTip('选择文件的路径')
路径btn.clicked.connect(essai)
路径btn.resize(路径btn.sizeHint())
路径移动(200100)
我的问题是,当程序运行时,我用鼠标光标改变窗口的大小,按钮不移动,不适应大小的变化

我试图找到一些答案(该死的谷歌),我明白“QVBoxLayout”应该做我想做的事情(某种“动态”定位,不知道是否有一个特定的名称),但我不明白它的语法,也不知道如何使用它


感谢您的帮助

在Qt窗口小部件中,布局和窗口小部件的大小提示决定了如何调整大小。布局小部件的一般过程如下(例如):

(*我不能在工作中测试这个代码(没有Qt/PySead),所以考虑这个“伪代码”:-)/P> 这将生成一个带有标签和编辑框的对话框小部件。如果调整对话框小部件的大小,小部件的布局和调整大小属性将确保标签和编辑框适当调整大小:在水平方向上都会最大限度地扩展,但在垂直方向上,编辑将保持相同的大小,而标签会占用所有剩余空间。这是因为编辑框的调整大小提示表示它希望保持其高度(即一行文本)

如果您没有指定布局,您的小部件(按钮、标签)在调整其父小部件的大小时不会做任何事情,这就是您正在观察的。因此,解决方案确实是QVBoxLayout,正如我上面所描述的那样使用它


顺便说一下:对于更复杂的布局,您可能希望使用Qt提供的Designer工具:此工具可以让您事先查看和测试GUI。

您是否阅读了文档?在寻求帮助时未找到此文档,不知道为什么。。。无论如何,谢谢你!
dialog = QDialog()
layout = QVBoxLayout()
label = QLabel('This is a label')
edit = QLineEdit('This is a line edit box')
layout.addWidget(label)
layout.addWidget(edit)
dialog.setLayout(layout)