Python 将小部件定位到QBoxLayout

Python 将小部件定位到QBoxLayout,python,pyqt,pyside,Python,Pyqt,Pyside,我正在使用PySide构建GUI 我有一个QBoxLayout,我添加了一些小部件,问题是我想控制它们的位置,但我无法做到,我尝试了文档页面中提供的内容,这是 addWidget( widg, int streatch, int alignment) 但它并没有给我想要的,所以我想要的最终外观是这样的 ------------------------------------------------------------^^^*** &&&&&& 如果行\uuuuuuuuuuuuuuuuuu

我正在使用PySide构建GUI

我有一个QBoxLayout,我添加了一些小部件,问题是我想控制它们的位置,但我无法做到,我尝试了文档页面中提供的内容,这是

addWidget( widg, int streatch, int alignment)
但它并没有给我想要的,所以我想要的最终外观是这样的


------------------------------------------------------------^^^*** &&&&&&

如果行\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 我希望我在代码中命名为wid的小部件像虚线一样-------- 和滑块在同一位置^^ 最后是要打开的按钮&&&&&

我的第二个问题是,我想在滑块和como框中添加一些标签,我想确定位置如何才能做到这一点

这是我的密码

    self.wid = GLWidget()

    mainLayout = QtGui.QHBoxLayout()
    mainLayout.addWidget(self.wid)



    self.xSlider = self.createSlider()
    self.ySlider = self.createSlider()

    mainLayout.addWidget(self.xSlider)
    mainLayout.addWidget(self.ySlider)

    self.btn = QtGui.QPushButton('OK')
    self.btn.resize(self.btn.sizeHint())

    mainLayout.addWidget(self.btn)


    self.combo = QtGui.QComboBox()

    mainLayout.addWidget(self.combo)

    self.setLayout(mainLayout)
    self.setWindowTitle(self.tr("Hello GL"))
    self.setGeometry(350, 350, 1000, 1000)

您可以使用QGridLayout而不是QHBoxLayout,并使用QGridLayout的方法指定所需的小部件宽度。如下所示:

mainLayout = QtGui.QGridLayout()
mainLayout.setColumnMinimumWidth(0, 100) #set column 0 width to 100 pixels
button = QtGui.QPushButton('OK')
mainLayout.addWidget(button, 0, 0) #adds the button to the widened column

然后继续添加其余的小部件。

为什么不使用Qt Designer?@ivica我的实现快完成了,我不知道如何使用Qt Designer。我相信学习如何使用它(它真的很简单)比手动键入每个布局更容易。当然,这是您的选择。它不起作用。它显示以下属性错误:“PySide.QtGui.QGridLayout”对象没有属性“setMinimumColumnWidth”对不起,我写错了。该方法实际上被称为“setColumnMinimumWidth”。但这当然是库制造商的错,他们应该像我第一次写的那样做D