2013-05-09 3 views
2

세 푸시 버튼은 모두 크기가 동일하므로 첫 번째 푸시 버튼의 크기를 늘려 다른 두 버튼보다 많은 공간을 차지하는 방법.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_()) 

답변

4

addWigdet()의 두 번째 인수 (선택 사항)는 스트립 계수입니다. 당신은 스트레칭 첫 번째 단추를 원하는 경우, 단순히 수행

layout.addWidget(pushbutton_1, 2) 
layout.addWidget(pushbutton_2, 1) 
layout.addWidget(pushbutton_3, 1) 
+0

감사 : 모든 버튼을 스트레칭하기를 원하지만 첫 번째가 더 큰 것으로하면

layout.addWidget(pushbutton_1, 1) 

, 당신은 단순히 다른 스트레치 요소를 사용할 필요가 하지만이 스트레칭은 창을 최대화 한 후에 만 ​​발생합니다. 최대화되지 않을 때 처음으로 출력을 표시하는 등의 작업을 수행 할 수 있습니까? 첫 번째 푸시 버튼이 더 많은 공간을 차지합니까? – user1994124

+0

'pushbutton_1.setMinimumWidth()'를 원하는 최소 너비 (픽셀 단위)로 시도해 볼 수 있습니다. 또는 원한다면'self.setMinimumWidth()'를 사용하여 윈도우의 최소 너비를 설정할 수 있습니다. –

관련 문제