Qt-Designer를 사용한 자동 확장 레이아웃


217

Qt Designer를 사용하고 있습니다.

QVBoxLayout전체 창을 채우도록 자동으로 확장되는 을 만들고 싶습니다 .

QVBoxLayout남아 있는 레이아웃 은 고정되어 있습니다.

어떻게이 발생할 수 QVBoxLayout확장 및 디자이너를 통해 전체 창을 채우기 위해?


그냥 Qt는 디자이너에서 uset 레이아웃에 원하는 경우, 조언, 노호하는 심판하시기 바랍니다 : stackoverflow.com/questions/1508939/qt-layout-on-qmainwindow

답변:


366

QVBoxLayoutQt Designer에서을 작성한 후 위젯 / 대화 상자 / 창의 배경 ()이 아닌 QVBoxLayout상위 위젯을 마우스 오른쪽 단추로 클릭 하고 컨텍스트 메뉴의 맨 아래에서 그리드에 배치-> 배치를 선택하십시오 . 는 QVBoxLayout이제 창에 맞게 스트레칭해야하며, 전체 창 크기를 조정할 때 자동으로 크기가 조정됩니다.


6
감사합니다.이 문제에 대한 해결책도 찾고 있습니다.
Simon H.

35
실제로 그리드 레이아웃을 전혀 만들 필요가 없습니다. QVBoxLayout을 직접 만드는 대신 모든 항목을 선택 취소하고 위젯의 배경을 클릭하십시오. 그런 다음 배치-> 수직 배치를 선택하십시오.
Michal Kottman

3
@Michal Kottman : 디자인 타임에만 작동합니다. 사용자가 런타임에 창 크기를 조정할 때 레이아웃이 변경되지 않습니다.
Jay

5
그리드 및 수직 레이아웃 모두 디자인 및 런타임에서 작동합니다.
AndiDog

2
QTabWidget 페이지에 자체 스트레치 레이아웃을 추가하려는 경우 관련 탭이 아닌 QTabWidget을 선택하는 것처럼 실제로 페이지 의 배경을 마우스 오른쪽 단추로 클릭 할 수 없습니다. 당신은 디자이너 창에서와 같이 탭 라벨에 마우스 오른쪽 버튼으로 클릭해야 다음 선택 레이 아웃 -> 레이 그리드에서 아웃
에마 치 폴라

15

설명서 에 따르면 최상위 레이아웃 세트가 있어야합니다.

창 크기를 조정할 때 위젯의 크기가 올바르게 조정되도록하려면 최상위 레벨 레이아웃이 필요합니다. 최상위 레벨 레이아웃을 설정했는지 확인하려면 위젯을 미리보고 크기 그립을 드래그하여 창 크기를 조정하십시오.

선택을 지우고 양식 자체를 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 사용 가능한 레이아웃 중 하나를 선택하여 설정을 지정할 수 있습니다.

Qt 레이아웃


2

"화면에 맞추기"속성을 찾으려고했지만 해당 속성이 없습니다.

그러나 위젯의 "maximumSize"를 "일부 큰 숫자"(예 : 2000 x 2000)로 설정하면 위젯이 상위 위젯 공간에 자동으로 맞춰집니다.


6
Retina Display (2880x1800)가 장착 된 MacBook Pro에서이 기술은 어떻게됩니까?
ta.speot.는

1
허용하는 최대 수 (Designer me me is 16777215)로 설정하면 모든 모니터 크기에서 작동합니다.
andreb

0

하나 이상의 위젯이있는 레이아웃을 추가 한 후 창을 선택하고 QtDesigner의 "업데이트"버튼을 클릭하십시오. 인터페이스는 가장 최적화 된 크기로 조정되며 레이아웃은 전체 창에 맞습니다. 그런 다음 창의 크기를 조정할 때 같은 방식으로 레이아웃의 크기가 조정됩니다.


사용자가 전체 창 크기를 조정할 때 세로 레이아웃 (및 그 내용)이 창에 맞게 늘어납니다. Qt Designer에서 어떻게 보이는지 신경 쓰지 않습니다.
Elazar Leibovich

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.