2010-06-14 5 views
0

3 개의 간단한 버튼을 포함하는 vBoxLayout이 있는데 레이아웃을 포함하는 위젯의 크기를 늘리면 버튼 사이의 간격이 커집니다. 이 동작을 중지하고 상위 위젯의 크기에 관계없이 버튼을 일관된 소형 레이아웃으로 유지하고 싶습니다. 이것은 내가 지금까지 가지고있는 것이지만, 간격, 어떤 제안도 바뀌지 않는가?, 고마워.컴팩트 Qt4 vBoxLayout을 생성하는 방법

button_layout = new QVBoxLayout ; 
    button_layout -> setSpacing(0); 
    button_layout -> setContentsMargins(0,0,0,0); 
+0

아마도 버튼의 높이가 고정되어 있습니까? – humbagumba

답변

1

당신은 레이아웃에 신축성 스페이서를 추가 할 수 있습니다 :

button_layout = new QVBoxLayout ; 
button_layout -> setSpacing(0); 
button_layout -> setContentsMargins(0,0,0,0); 
button_layout -> addStretch(); 
button_layout -> addWidget(button_1); 
button_layout -> addWidget(button_2); 
button_layout -> addWidget(button_3); 

이 버튼이 항상 포함 된 위젯의 바닥에 원인이 될 것입니다. 위젯이 이렇게 확장되면 수평 부분이 여전히 늘어납니다. 이 문제를 해결하려면 다른 레이아웃 (HBox)으로 래핑하거나 그리드 레이아웃으로 전환해야합니다.

+0

와우, 고마워, 나는 스트레칭이 실제로 당신이 묘사하는 것과 반대되는 것을 직관적으로 생각했다. –