如何在PyQt4中以水平布局拉伸单个小部件?

use*_*124 3 python qt pyqt pyqt4

这里所有三个按钮的大小相同,如何增加第一个按钮的大小,使其比其他两个按钮占用更多的空间.

from PyQt4 import QtGui
import sys

class AllWidgets(QtGui.QWidget):

    def __init__(self):
        super(AllWidgets, self).__init__()
        layout = QtGui.QHBoxLayout()
        #code for pushbutton 1
        pushbutton_1 = QtGui.QPushButton()
        pushbutton_1.setText('First')
        layout.addWidget(pushbutton_1)
        #code for pushbutton 2
        pushbutton_2 = QtGui.QPushButton()
        pushbutton_2.setText('Second')
        layout.addWidget(pushbutton_2)
        #code for pushbutton 3
        pushbutton_3 = QtGui.QPushButton()
        pushbutton_3.setText('Third')
        layout.addWidget(pushbutton_3)
        self.setLayout(layout)

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    display = AllWidgets()
    display.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

Cha*_*net 6

第二个(可选)参数addWigdet()是strech因子.如果你想要第一个拉伸按钮,只需:

layout.addWidget(pushbutton_1, 1)
Run Code Online (Sandbox Code Playgroud)

如果你想要所有按钮伸展,但第一个按钮要更大,你只需要使用不同的伸展因子:

layout.addWidget(pushbutton_1, 2)
layout.addWidget(pushbutton_2, 1)
layout.addWidget(pushbutton_3, 1)
Run Code Online (Sandbox Code Playgroud)