QFormLayout
부모 위젯을 채우기 위해 커지는 작은 것을 갖고 싶습니다 .
Qt Designer 의 템플릿을 사용하여 새 .ui 파일을 만들었습니다 QWidget
. 나는 QFormLayout
그 ‘창’안에 넣은 다음 그 안에 몇 가지 컨트롤을 넣습니다 QFormLayout
.
이것은 모두 합리적으로 잘 작동하지만 QFormLayout
항상 Qt Designer에서 설정 한 크기로 유지됩니다. QFormLayout
부모 위젯을 채우고 확장 / 축소하고 싶습니다 .
어떻게 할 수 있습니까?
답변
Designer에서 centralWidget을 활성화하고 수평 또는 수직 레이아웃과 같은 레이아웃을 할당하십시오. 그러면 QFormLayout이 자동으로 크기가 조정됩니다.
항상 모든 위젯에 레이아웃이 있는지 확인하십시오! 그렇지 않으면 자동 크기 조정이 해당 위젯으로 중단됩니다!
또한보십시오
답변
중앙 위젯 아래에 최소한 하나의 자식을 추가 할 때까지 레이아웃을 중앙 위젯에 할당하는 것이 불가능하다는 것을 알았습니다. 그런 다음 빨간색 ‘비활성화 됨’표시가있는 작은 아이콘을 강조 표시 한 다음 상단의 디자이너 도구 모음에서 레이아웃을 클릭 할 수 있습니다.
답변
받아 들여지는 대답 (이미지)은 적어도 지금은 QT5에서 잘못되었습니다. 대신 루트 개체 / 위젯에 레이아웃을 할당해야합니다 (앞서 언급 한 이미지를 가리키면 MainWindow
대신 이어야합니다 centralWidget
). 또한 QObject
이 작업을 수행하려면 그 아래에 하나 이상의 생성이 있어야합니다. 이렇게하면 UI가 창 크기 조정에 반응합니다.