에서 레이아웃 사용 Qt Widgets Designer
양식을 사용하려면 먼저 양식의 개체를 레이아웃에 배치해야 합니다. 이렇게 하면 양식을 미리 보거나 애플리케이션에서 사용할 때 개체가 제대로 표시될 수 있습니다. 또한 레이아웃에 개체를 배치하면 양식의 크기를 조정할 때 개체의 크기가 올바르게 조정됩니다.
레이아웃에 위젯을 삽입한 후에는 스페이서가 제공하는 힌트를 고려하여 레이아웃 자체가 레이아웃 내의 각 위젯의 형상을 제어하므로 개별적으로 위젯을 이동하고 크기를 조정할 수 없습니다. 스페이서를 레이아웃에 추가하여 위젯의 지오메트리에 영향을 줄 수 있습니다.
레이아웃을 중첩하여 계층 구조를 형성할 수 있습니다. 예를 들어, 버튼이 가로로 나열된 일반적인 대화 상자 레이아웃을 만들려면 하단에 버튼이 포함된 가로 상자 레이아웃과 함께 세로 상자 레이아웃을 사용하여 대화 상자 요소를 배치할 수 있습니다. Qt 레이아웃 시스템에 대한 소개는 레이아웃 관리를 참조하십시오.
레이아웃을 나누려면 Ctrl+0을 누르거나 양식의 상황에 맞는 메뉴, 양식 메뉴 또는 기본 도구 모음에서 레이아웃 나누기를 선택합니다.
최상위 레이아웃 설정하기
양식의 최상위 레이아웃은 선택을 취소하고(양식 자체에서 마우스 왼쪽 버튼 클릭) 레이아웃을 적용하여 설정할 수 있습니다. 최상위 레이아웃은 창 크기를 조정할 때 위젯의 크기가 올바르게 조정되도록 하기 위해 필요합니다. 최상위 레이아웃을 설정했는지 확인하려면 위젯을 미리 보고 크기 그립을 드래그하여 창 크기를 조정해 보세요.
![]() | 레이아웃 적용하기 레이아웃을 적용하려면 왼쪽에 표시된 도구 모음 또는 아래 표시된 상황에 맞는 메뉴에서 원하는 레이아웃을 선택할 수 있습니다. |
마찬가지로 최상위 레이아웃은 컨테이너 위젯(QGroupBox) 또는 페이지 기반 컨테이너 위젯의 페이지(QTabWidget, QToolBox 및 QStackedWidget)에서 각각 설정할 수 있습니다. 이 작업을 수행하려면 컨테이너 위젯을 선택해야 합니다.
최상위 레이아웃은 객체 검사기에서 별도의 객체로 표시되지 않습니다. 해당 속성은 속성 편집기에서 기본 양식, 컨테이너 위젯 또는 컨테이너 위젯의 페이지의 위젯 속성 아래에 표시됩니다.
레이아웃 객체
레이아웃 개체는 기존 개체 그룹에 레이아웃을 적용하여 만듭니다. 관리해야 하는 개체를 선택하고 기본 도구 모음, 양식 메뉴 또는 양식의 컨텍스트 메뉴를 사용하여 표준 레이아웃 중 하나를 적용하면 됩니다.
레이아웃 개체는 양식에서 빨간색 프레임으로 표시되며 개체 검사기에서 개체로 나타납니다. 해당 속성(여백 및 제약 조건)은 속성 편집기에 표시됩니다.
레이아웃 개체를 선택하고 다른 위젯 및 레이아웃 개체와 함께 다른 레이아웃 내에 배치하여 레이아웃 계층 구조를 만들 수 있습니다.
하위 레이아웃 개체를 선택하면 해당 하위 레이아웃 개체를 클릭한 상태에서 Shift 키를 누르면 상위 레이아웃 개체를 선택할 수 있습니다. 이렇게 하면 프레임이 작아 선택하기 어려웠던 계층 구조에서 특정 레이아웃을 선택할 수 있습니다.
레이아웃에 객체 삽입하기
개체를 현재 위치에서 드래그하여 필요한 위치에 놓으면 기존 레이아웃에 개체를 삽입할 수 있습니다. 개체를 드래그하면 레이아웃에 파란색 커서가 표시되어 개체가 추가될 위치를 나타냅니다.
레이아웃에 대상체 삽입하기
레이아웃 유형
가로 및 세로(박스) 레이아웃
양식에서 개체를 정렬하는 가장 간단한 방법은 가로 또는 세로 레이아웃으로 배치하는 것입니다. 가로 레이아웃은 내부의 위젯이 가로로 정렬되도록 하고 세로 레이아웃은 위젯이 세로로 정렬되도록 합니다.
가로 레이아웃과 세로 레이아웃은 원하는 깊이까지 결합하고 중첩할 수 있습니다. 그러나 객체 배치를 보다 세밀하게 제어해야 하는 경우 그리드 레이아웃을 사용하는 것이 좋습니다.
그리드 레이아웃
그리드 레이아웃에 개체를 배치하여 복잡한 양식 레이아웃을 만들 수 있습니다. 이러한 종류의 레이아웃을 사용하면 양식 디자이너가 양식에 위젯을 훨씬 더 자유롭게 배치할 수 있지만 레이아웃이 훨씬 덜 유연해질 수 있습니다. 그러나 일부 양식 레이아웃의 경우 그리드 배열이 가로 및 세로 레이아웃의 중첩 배열보다 훨씬 더 적합합니다.
양식 레이아웃
QFormLayout 클래스는 위젯을 두 열 형태로 관리합니다. 왼쪽 열에는 레이블이 있고 오른쪽 열에는 줄 편집, 회전 상자 등의 필드 위젯이 있습니다. QFormLayout 클래스는 다양한 플랫폼의 룩앤필 가이드라인을 준수하며 긴 행에 대한 래핑을 지원합니다.
위의 UI 파일은 아래와 같은 미리 보기를 생성합니다.
Windows XP | macOS | 클린룩 |
---|---|---|
![]() | ![]() | ![]() |
분할기 레이아웃
양식에서 개체의 레이아웃을 관리하는 또 다른 일반적인 방법은 스플리터에 개체를 배치하는 것입니다. 이러한 분할기는 일반 레이아웃과 동일한 방식으로 개체를 가로 또는 세로로 정렬하지만 사용자가 각 개체에 할당된 공간의 양을 조정할 수 있습니다.
QSplitter 은 컨테이너 위젯이지만 Qt Widgets Designer 은 스플리터 개체를 기존 위젯에 적용되는 레이아웃으로 취급합니다. 위젯 그룹을 분할기에 배치하려면 여기에 설명된 대로 위젯을 선택한 다음 적절한 도구 모음 버튼, 키보드 단축키 또는 레이아웃 컨텍스트 메뉴 항목을 사용하여 분할기 레이아웃을 적용합니다.
단축키
표준 도구 모음 및 상황에 맞는 메뉴 항목 외에도 위젯에 레이아웃을 적용하는 키보드 단축키 세트도 있습니다.
레이아웃 | 단축키 | 설명 |
---|---|---|
가로 | Ctrl+1 | 선택한 개체를 가로 레이아웃으로 배치합니다. |
세로 | Ctrl+2 | 선택한 개체를 세로 레이아웃으로 배치합니다. |
그리드 | Ctrl+5 | 선택한 개체를 그리드 레이아웃으로 배치합니다. |
양식 | Ctrl+6 | 선택한 개체를 양식 레이아웃에 배치합니다. |
가로 분할기 | Ctrl+3 | 가로 분할기를 만들고 선택한 개체를 그 안에 배치합니다. |
세로 분할기 | Ctrl+4 | 수직 분할기를 생성하고 선택한 개체를 그 안에 배치합니다. |
크기 조정 | Ctrl+J | 각 자식 객체가 내용을 표시하기에 충분한 공간을 확보할 수 있도록 레이아웃의 크기를 조정합니다. 자세한 내용은 QWidget::adjustSize()를 참조하세요. |
참고: Ctrl+0은 레이아웃을 분리하는 데 사용됩니다.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.