Widgets platzieren

Es gibt in Qt zwei verschiedene Arten Widgets zu platzieren:

  • fixe Position angeben
  • Layouts verwenden

Da ersteres sehr umständlich ist und vor allem beim Vergrößern und Verkleinern von Fenstern zu Problemen führen kann, werden wir uns nur mit Layouts beschäftigen.

Ein Layout gibt vor, wie Widgets angeordnet werden sollen und wählt automatisch die passende Größe. Wird es dann auf ein Widget angewandt, übernimmt dieses die im Layout enthaltenen Widgets. Jedes Widget kann maximal ein Layout haben. Versucht man mehrere Layouts auf das selbe Widget anzuwenden bekommt man eine Laufzeit-Fehlermeldung („QWidget::setLayout: Attempting to set QLayout “„ on QWidget “„, which already has a layout“).

Layouts können auch verschachtelt werden, ein Layout kann also ein anderes enthalten. Es gibt für verschiedene Zwecke auch verschiedene Arten von Layouts.

Arten von Layouts

Es gibt verschiedene Arten von Layouts. Alle haben ihr eigenes Verhalten und ihren eigenen Anwendungsbereich.

Andere Möglichkeiten Widgets zu platzieren

Folgende Kapitel beschäftigen sich nicht mit echten Layouts, aber die beschriebenen Klassen ermöglichen ebenfalls die Platzierung von Widgets.

Weitere Informationen zu Layouts

Indem man im Konstruktor eines Widgets ein Layout anwendet, erhält man ein zusammengesetztes, wiederverwendbares Widget, das redundanten Code vermeidet.

Parent-Objekte spielen eine wichtige Rolle in Qt. Im Zusammenhang mit Layouts haben sie neben der Speicherverwaltung noch andere Aufgaben.