GridLayout QML Type
Bietet eine Möglichkeit, Elemente in einem Gitter dynamisch 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)
Detaillierte Beschreibung
Um diesen Typ effizienter nutzen zu können, empfiehlt es sich, den allgemeinen Mechanismus des Moduls Qt Quick Layouts zu verstehen. Weitere Informationen finden Sie unter Qt Quick Layouts Übersicht.
Wenn die Größe des GridLayouts geändert wird, werden alle Elemente im Layout neu angeordnet. Dies ist ähnlich wie bei der Widget-basierten QGridLayout. Alle sichtbaren Kinder des GridLayout-Elements gehören zu diesem Layout. Wenn Sie ein Layout mit nur einer Zeile oder einer Spalte wünschen, können Sie RowLayout oder ColumnLayout verwenden. Diese bieten eine etwas bequemere API und verbessern die Lesbarkeit.
Standardmäßig werden die Elemente gemäß der Eigenschaft flow angeordnet. Der Standardwert der Eigenschaft flow ist GridLayout.LeftToRight
.
Wenn die Eigenschaft columns angegeben ist, wird sie als Höchstgrenze für die Anzahl der Spalten behandelt, die das Layout haben kann, bevor die automatische Positionierung zum Anfang der nächsten Zeile zurückspringt. Die Eigenschaft columns wird nur verwendet, wenn flow gleich GridLayout.LeftToRight
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 automatisch vertikal positioniert. Die Eigenschaft rows wird nur verwendet, wenn flow gleich GridLayout.TopToBottom
ist.
Sie können angeben, welche Zelle ein Element belegen soll, indem Sie die Eigenschaften Layout.row und Layout.column festlegen. Sie können auch die Zeilenspanne oder Spaltenspanne angeben, indem Sie die Eigenschaften Layout.rowSpan oder Layout.columnSpan einstellen.
Elemente in einem GridLayout unterstützen diese 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
Lesen Sie hier mehr über angehängte Eigenschaften.
Siehe auch RowLayout, ColumnLayout, StackLayout, Grid, und Qt Quick Layouts Übersicht.
Eigenschaft Dokumentation
columnSpacing : real |
Diese Eigenschaft enthält den Abstand zwischen den einzelnen Spalten. Der Standardwert ist 5
.
columns : int |
Diese Eigenschaft enthält die Spaltengrenze für Elemente, die positioniert werden, wenn flow GridLayout.LeftToRight
ist. Der Standardwert ist, dass es keine Begrenzung gibt.
flow : enumeration |
Diese Eigenschaft enthält die Flussrichtung von Elementen, für die keine explizite Zellposition festgelegt wurde. Sie wird zusammen mit der Eigenschaft columns oder rows verwendet, die angeben, wann der Fluss auf die nächste Zeile bzw. Spalte zurückgesetzt wird.
Mögliche Werte sind:
Konstante | 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 dann in die nächste Spalte umgebrochen. |
layoutDirection : enumeration |
Diese Eigenschaft bestimmt die Layout-Richtung des Grid-Layouts - sie steuert, ob die 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 angeordnet.
Mögliche Werte:
Konstante | Beschreibung |
---|---|
Qt.LeftToRight | (Standardwert) Die Elemente werden von links nach rechts angeordnet. |
Qt.RightToLeft | Die 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 ist 5
.
rows : int |
Diese Eigenschaft enthält die Zeilengrenze für Elemente, die positioniert werden, wenn flow GridLayout.TopToBottom
ist. Der Standardwert ist, dass es keine Begrenzung gibt.
uniformCellHeights : bool |
Wenn diese Eigenschaft auf true
gesetzt ist, erzwingt das Layout, dass alle Zellen eine einheitliche Höhe haben. Das Layout versucht, Layout.minimumHeight, Layout.preferredHeight und Layout.maximumHeight in diesem Modus zu respektieren, kann aber 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 |
Wenn diese Eigenschaft auf true
gesetzt ist, erzwingt das Layout, dass alle Zellen eine einheitliche Breite haben. Das Layout versucht, Layout.minimumWidth, Layout.preferredWidth und Layout.maximumWidth in diesem Modus zu respektieren, kann aber 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.
© 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.