GridLayout QML Type
Bietet eine Möglichkeit, Elemente dynamisch in einem Raster anzuordnen. Mehr...
| Import Statement: | import QtQuick.Layouts |
| Inherits: |
Eigenschaften
- columnSpacing : real
- columns : int
- flow : enumeration
- layoutDirection : enumeration
(since QtQuick.Layouts 1.1) - rowSpacing : real
- rows : int
- uniformCellHeights : bool
(since QtQuick.Layouts 6.6) - uniformCellWidths : bool
(since QtQuick.Layouts 6.6)
Ausführliche Beschreibung
Um diesen Typ effizienter nutzen zu können, sollten Sie sich mit dem allgemeinen Funktionsprinzip des Moduls „ Qt Quick Layouts “ vertraut machen. Weitere Informationen finden Sie unter „Qt Quick Layouts – Überblick “.
Wird die Größe des GridLayouts geändert, werden alle Elemente im Layout neu angeordnet. Dies ähnelt dem widgetbasierten „ QGridLayout “. Alle sichtbaren untergeordneten Elemente des GridLayout-Elements gehören zum Layout. Wenn Sie ein Layout mit nur einer Zeile oder einer Spalte wünschen, können Sie das „ RowLayout “ oder „ ColumnLayout “ verwenden. Diese bieten eine etwas komfortablere API und verbessern die Lesbarkeit.
Standardmäßig werden Elemente gemäß der Eigenschaft ` flow ` angeordnet. Der Standardwert der Eigenschaft ` flow ` ist ` GridLayout.LeftToRight`.
Wenn die Eigenschaft „ columns “ angegeben wird, wird sie als maximale Anzahl von Spalten behandelt, die das Layout haben kann, bevor die automatische Positionierung an den Anfang der nächsten Zeile zurückkehrt. Die Eigenschaft „ columns “ wird nur verwendet, wenn „ flow “ auf „ GridLayout.LeftToRight “ gesetzt ist.

GridLayout {
id: grid
columns: 3
Text { text: "Three"; font.bold: true; }
Text { text: "words"; color: "red" }
Text { text: "in"; font.underline: true }
Text { text: "a"; font.pixelSize: 20 }
Text { text: "row"; font.strikeout: true }
}Die Eigenschaft „ rows “ funktioniert auf ähnliche Weise, allerdings werden die Elemente dabei vertikal automatisch positioniert. Die Eigenschaft „ rows “ wird nur verwendet, wenn „ flow “ auf „ GridLayout.TopToBottom “ gesetzt ist.
Sie können festlegen, welche Zelle ein Element einnehmen soll, indem Sie die Eigenschaften „ Layout.row “ und „ Layout.column “ festlegen. Sie können außerdem die Zeilen- oder Spaltenausdehnung festlegen, indem Sie die Eigenschaften „ Layout.rowSpan “ bzw. „ Layout.columnSpan “ festlegen.
Elemente in einem „GridLayout“ unterstützen die folgenden angehängten Eigenschaften:
- Layout.row
- Layout.column
- Layout.rowSpan
- Layout.columnSpan
- Layout.minimumWidth
- Layout.minimumHeight
- Layout.preferredWidth
- Layout.preferredHeight
- Layout.maximumWidth
- Layout.maximumHeight
- Layout.fillWidth
- Layout.fillHeight
- Layout.alignment
- Layout.margins
- Layout.leftMargin
- Layout.rightMargin
- Layout.topMargin
- Layout.bottomMargin
- Layout.horizontalStretchFactor
- Layout.verticalStretchFactor
Weitere Informationen zu angehängten Eigenschaften finden Sie hier.
Siehe auch „ RowLayout“ , „ ColumnLayout “, „ StackLayout “, „ Grid “ und „Qt Quick Layouts “ – Übersicht.
Dokumentation zu Eigenschaften
columnSpacing : real
Diese Eigenschaft legt den Abstand zwischen den einzelnen Spalten fest. Der Standardwert lautet „ 5 “.
columns : int
Diese Eigenschaft legt die Spaltenbegrenzung für positionierte Elemente fest, wenn „ flow “ auf „ GridLayout.LeftToRight “ gesetzt ist. Standardmäßig gibt es keine Begrenzung.
flow : enumeration
Diese Eigenschaft legt die Fließrichtung von Elementen fest, für die keine explizite Zellenposition festgelegt wurde. Sie wird zusammen mit den Eigenschaften „ columns “ oder „ rows “ verwendet, die festlegen, wann der Fluss jeweils auf die nächste Zeile bzw. Spalte zurückgesetzt wird.
Mögliche Werte sind:
| Constant | Beschreibung |
|---|---|
GridLayout.LeftToRight | (Standard) Elemente werden nebeneinander positioniert und dann in die nächste Zeile umgebrochen. |
GridLayout.TopToBottom | Elemente werden von oben nach unten nebeneinander positioniert und anschließend in die nächste Spalte umgebrochen. |
layoutDirection : enumeration [since QtQuick.Layouts 1.1]
Diese Eigenschaft legt die Ausrichtungsrichtung des Rasterlayouts fest – sie bestimmt, ob Elemente von links nach rechts oder von rechts nach links angeordnet werden. Wenn „ Qt.RightToLeft “ angegeben ist, werden linksbündige Elemente rechtsbündig und rechtsbündige Elemente linksbündig ausgerichtet.
Mögliche Werte:
| Konstante | Beschreibung |
|---|---|
Qt.LeftToRight | (Standard) Elemente werden von links nach rechts angeordnet. |
Qt.RightToLeft | Elemente werden von rechts nach links angeordnet. |
Diese Eigenschaft wurde in QtQuick.Layouts 1.1 eingeführt.
Siehe auch RowLayout::layoutDirection und ColumnLayout::layoutDirection.
rowSpacing : real
Diese Eigenschaft legt den Abstand zwischen den einzelnen Zeilen fest. Der Standardwert lautet „ 5 “.
rows : int
Diese Eigenschaft legt die Zeilenbegrenzung für positionierte Elemente fest, wenn „ flow “ auf „ GridLayout.TopToBottom “ gesetzt ist. Standardmäßig gibt es keine Begrenzung.
uniformCellHeights : bool [since QtQuick.Layouts 6.6]
Wenn diese Eigenschaft auf „ true “ gesetzt ist, sorgt das Layout dafür, dass alle Zellen eine einheitliche Höhe haben. Das Layout versucht in diesem Modus, die Vorgaben unter Layout.minimumHeight, Layout.preferredHeight und Layout.maximumHeight einzuhalten, muss jedoch möglicherweise Kompromisse eingehen, um die Anforderungen aller Elemente zu erfüllen.
Der Standardwert ist „ false “.
Diese Eigenschaft wurde in QtQuick.Layouts 6.6 eingeführt.
Siehe auch GridLayout::uniformCellWidths, RowLayout::uniformCellSizes und ColumnLayout::uniformCellSizes.
uniformCellWidths : bool [since QtQuick.Layouts 6.6]
Wenn diese Eigenschaft auf „ true “ gesetzt ist, sorgt das Layout dafür, dass alle Zellen eine einheitliche Breite haben. Das Layout versucht in diesem Modus, die Vorgaben unter Layout.minimumWidth, Layout.preferredWidth und Layout.maximumWidth einzuhalten, muss jedoch möglicherweise Kompromisse eingehen, um die Anforderungen aller Elemente zu erfüllen.
Der Standardwert ist „ false “.
Diese Eigenschaft wurde in QtQuick.Layouts 6.6 eingeführt.
Siehe auch GridLayout::uniformCellHeights, RowLayout::uniformCellSizes und ColumnLayout::uniformCellSizes.
© 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.