왼쪽의 ListWidget과 오른쪽의 VBoxLayout 안에 다양한 위젯 (TextEdit 및 LineEdit 포함)이있는 대화 상자가 있습니다. ListWidget과 VBox 사이에는 스플리터가 있습니다. 다음은 UI 코드 (마이너스 몇 가지 속성 정의)입니다 : 사용자가 오른쪽으로 대화를 뻗어 경우Qt Creator에서 위젯을 어떻게 고정시킬 수 있습니까?
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>701</width>
<height>586</height>
</rect>
</property>
<widget class="QSplitter" name="splitter">
<property name="geometry">
<rect>
<x>10</x>
<y>12</y>
<width>681</width>
<height>561</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QListWidget" name="keysListWidget">
</widget>
<widget class="QWidget" name="">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="deleteButton">
<property name="text">
<string>Delete</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="saveNewButton">
<property name="text">
<string>Save New</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="saveChangesButton">
<property name="text">
<string>Update</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLineEdit" name="keyLineEdit">
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="valueTextEdit">
</widget>
</item>
</layout>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
, 나는 대화 상자의 오른쪽 (동안 ListWidget의 크기에 고정 유지하는 중 VBOX 싶습니다 변경되지 않음). 그리고 사용자가 대화 상자를 아래로 늘리면 ListWidget과 VBox가 모두 대화 상자의 상단과 하단에 고정되어 있어야합니다. 즉, 둘 다 늘리 길 원합니다.
지금 당장 대화 상자를 오른쪽이나 아래로 잡아도 위젯 크기에는 아무런 영향이 없습니다.
응답 해 주셔서 감사합니다. 당신이 제안한 모든 것이 도움이되었습니다. 내가 아직 놓치지 않은 유일한 부분은 ListWidget과 (VBox의) 위젯 사이에 스플리터를 추가하는 것이다. –
다음은 궁극적으로 GUI를 배치 한 방법입니다. (1) 버튼을 선택하고 수평으로 그룹화했습니다. (2) 선택된 버튼 그룹, 버튼 아래의 줄 바로 가기, 줄 편집 아래의 텍스트 편집을 세로로 세 그룹으로 묶었습니다. (3) 선택된 VBox + ListWidget을 스플리터로 수평으로 그룹화합니다. (4) 모든 것을 선택 해제했다. 전체 양식을 세로로 그룹화했다. –