Auf dieser Seite

Verwendung von Layouts im „ Qt Widgets “-Designer

Bevor ein Formular verwendet werden kann, müssen die Objekte auf dem Formular in Layouts angeordnet werden. Dadurch wird sichergestellt, dass die Objekte bei der Vorschau des Formulars oder bei der Verwendung in einer Anwendung korrekt angezeigt werden. Das Anordnen von Objekten in einem Layout gewährleistet außerdem, dass ihre Größe korrekt angepasst wird, wenn die Größe des Formulars geändert wird.

Sobald Widgets in ein Layout eingefügt wurden, ist es nicht mehr möglich, sie einzeln zu verschieben oder ihre Größe zu ändern, da das Layout selbst die Geometrie jedes darin enthaltenen Widgets steuert und dabei die von Abstandhaltern vorgegebenen Hinweise berücksichtigt. Dem Layout können Abstandhalter hinzugefügt werden, um die Geometrien der Widgets zu beeinflussen.

Layouts können verschachtelt werden, um eine Hierarchie zu bilden. Um beispielsweise ein typisches Dialoglayout mit einer horizontalen Reihe von Schaltflächen zu erstellen, können die Dialogelemente mithilfe eines vertikalen Box-Layouts angeordnet werden, das ein horizontales Box-Layout enthält, in dem sich die Schaltflächen am unteren Rand befinden. Eine Einführung in das Qt-Layout-System finden Sie unter „Layout-Verwaltung“.

Um ein Layout aufzubrechen, drücken Sie Strg+0 oder wählen Sie „Layout aufbrechen“ aus dem Kontextmenü des Formulars, dem Menü „Formular“ oder der Hauptsymbolleiste.

Festlegen eines Layouts der obersten Ebene

Das Layout der obersten Ebene des Formulars kann festgelegt werden, indem Sie die Auswahl aufheben (klicken Sie mit der linken Maustaste auf das Formular selbst) und ein Layout anwenden. Ein Layout der obersten Ebene ist erforderlich, um sicherzustellen, dass sich die Größe Ihrer Widgets korrekt anpasst, wenn die Größe des Fensters geändert wird. Um zu überprüfen, ob Sie ein Layout der obersten Ebene festgelegt haben, zeigen Sie eine Vorschau Ihres Widgets an und versuchen Sie, die Größe des Fensters durch Ziehen des Größen-Griffs anzupassen.

Screenshot mit Schaltflächen zum Ändern des LayouttypsEin Layout anwenden

Um ein Layout anzuwenden, können Sie das gewünschte Layout aus der links angezeigten Symbolleiste oder aus dem unten angezeigten Kontextmenü auswählen.

Ebenso werden Layouts der obersten Ebene jeweils auf Container-Widgets (QGroupBox) oder auf Seiten von seitenbasierten Container-Widgets (QTabWidget, QToolBox und QStackedWidget) festgelegt. Damit dies gelingt, muss das entsprechende Container-Widget ausgewählt sein.

Layouts der obersten Ebene sind im Objektinspektor nicht als separate Objekte sichtbar. Ihre Eigenschaften werden im Eigenschafteneditor unterhalb der Widget-Eigenschaften des Hauptformulars, des Container-Widgets oder der Seite eines Container-Widgets angezeigt.

Screenshot, der eine weitere Möglichkeit zeigt, den Layouttyp durch einen Rechtsklick im Editor zu ändern

Layout-Objekte

Layout-Objekte werden erstellt, indem ein Layout auf eine Gruppe vorhandener Objekte angewendet wird. Dazu wählen Sie die Objekte aus, die Sie verwalten möchten, und wenden über die Hauptsymbolleiste, das Menü „Formular“ oder das Kontextmenü des Formulars eines der Standardlayouts an.

Das Layout-Objekt wird im Formular durch einen roten Rahmen gekennzeichnet und erscheint als Objekt im Objektinspektor. Seine Eigenschaften (Ränder und Beschränkungen) werden im Eigenschafteneditor angezeigt.

Das Layout-Objekt kann ausgewählt und zusammen mit anderen Widgets und Layout-Objekten in einem anderen Layout platziert werden, um eine Layout-Hierarchie aufzubauen.

Wenn ein untergeordnetes Layout-Objekt ausgewählt ist, kann sein übergeordnetes Layout-Objekt ausgewählt werden, indem man die Umschalttaste gedrückt hält und darauf klickt. Dies ermöglicht die Auswahl eines bestimmten Layouts in einer Hierarchie, was aufgrund des kleinen Rahmens sonst schwierig wäre.

Objekte in ein Layout einfügen

Objekte können in ein bestehendes Layout eingefügt werden, indem man sie von ihrer aktuellen Position an die gewünschte Stelle zieht und dort ablegt. Während ein Objekt über das Layout gezogen wird, wird ein blauer Cursor angezeigt, der angibt, an welcher Stelle das Objekt eingefügt wird.

Screenshot, der zeigt, wie man Widgets in einem Layout per Drag & Drop verschiebt

Objekte in ein Layout einfügen

Layout-Typen

Horizontale und vertikale (Box-)Layouts

Die einfachste Art, Objekte auf einem Formular anzuordnen, besteht darin, sie in einem horizontalen oder vertikalen Layout zu platzieren. Horizontale Layouts sorgen dafür, dass die darin enthaltenen Widgets horizontal ausgerichtet sind; vertikale Layouts sorgen dafür, dass sie vertikal ausgerichtet sind.

Horizontale und vertikale Layouts lassen sich beliebig kombinieren und in beliebiger Tiefe verschachteln. Wenn Sie jedoch mehr Kontrolle über die Platzierung von Objekten benötigen, sollten Sie die Verwendung des Rasterlayouts in Betracht ziehen.

Das Rasterlayout

Komplexe Formularlayouts lassen sich durch die Platzierung von Objekten in einem Rasterlayout erstellen. Diese Art von Layout bietet dem Formularentwickler wesentlich mehr Freiheit bei der Anordnung von Widgets auf dem Formular, kann jedoch zu einem deutlich weniger flexiblen Layout führen. Für bestimmte Arten von Formularlayouts ist eine Rasteranordnung jedoch wesentlich besser geeignet als eine verschachtelte Anordnung aus horizontalen und vertikalen Layouts.

Das Formularlayout

Die Klasse „ QFormLayout “ verwaltet Widgets in einem zweispaltigen Formular; die linke Spalte enthält Beschriftungen und die rechte Spalte Feld-Widgets wie Zeilenbearbeitungsfelder, Drehfelder usw. Die Klasse „ QFormLayout “ hält sich an verschiedene plattformspezifische Look-and-Feel-Richtlinien und unterstützt den Zeilenumbruch bei langen Zeilen.

Screenshot, der ein Layoutbeispiel mit zwei Beschriftungen zeigt, wobei sich auf jeder Beschriftung seitlich ein Textfeld befindet

Die oben gezeigte UI-Datei führt zu den unten dargestellten Vorschauen.

WindowsmacOSCleanlooks
Screenshot, der die Layout-Vorschau unter Windows zeigtScreenshot, der die Layout-Vorschau unter macOS zeigtScreenshot, der die Layout-Vorschau mit übersichtlichem Erscheinungsbild unter Windows XP zeigt

Splitter-Layouts

Eine weitere gängige Methode zur Verwaltung des Layouts von Objekten in einem Formular besteht darin, diese in einem Splitter anzuordnen. Diese Splitter ordnen die Objekte ebenso wie normale Layouts horizontal oder vertikal an, ermöglichen es dem Benutzer jedoch zusätzlich, den jedem Objekt zugewiesenen Platz anzupassen.

Screenshot, der zeigt, wie man das Layout auf „Vertikal im Splitter anordnen“ umstellt

Obwohl „ QSplitter “ ein Container-Widget ist, behandelt der „ Qt Widgets Designer“ Splitter-Objekte als Layouts, die auf vorhandene Widgets angewendet werden. Um eine Gruppe von Widgets in einen Splitter zu platzieren, wählen Sie diese wie hier beschrieben aus und wenden Sie dann das Splitter-Layout mithilfe der entsprechenden Schaltfläche in der Symbolleiste, der Tastenkombination oder des Kontextmenüeintrags „Layout“ an.

Tastenkombinationen

Zusätzlich zu den Einträgen in der Standard-Symbolleiste und im Kontextmenü gibt es eine Reihe von Tastenkombinationen, um Layouts auf Widgets anzuwenden.

LayoutTastenkombinationBeschreibung
HorizontalStrg+1Ordnet die ausgewählten Objekte horizontal an.
VertikalStrg+2Ordnet die ausgewählten Objekte vertikal an.
RasterStrg+5Ordnet die ausgewählten Objekte in einem Rasterlayout an.
FormStrg+6Ordnet die ausgewählten Objekte in einem Formularlayout an.
Horizontaler TeilerStrg+3Erstellt eine horizontale Trennlinie und platziert die ausgewählten Objekte darin.
Vertikaler TrennbalkenStrg+4Erstellt eine vertikale Trennlinie und platziert die ausgewählten Objekte darin.
Größe anpassenStrg+JPasst die Größe des Layouts so an, dass jedes untergeordnete Objekt genügend Platz zur Darstellung seines Inhalts hat. Weitere Informationen finden Sie unter QWidget::adjustSize().

Hinweis: MitStrg+0 wird ein Layout aufgebrochen.

© 2026 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.