GridLayout QML Type
Permet d'organiser dynamiquement des éléments dans une grille. En savoir plus…
| Import Statement: | import QtQuick.Layouts |
| Inherits: |
Propriétés
- 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)
Description détaillée
Pour utiliser ce type de manière plus efficace, il est recommandé de bien comprendre le fonctionnement général du module Qt Quick Layouts. Pour plus d’informations, consultez la présentation de Qt Quick Layouts .
Si la taille du GridLayout est modifiée, tous les éléments de la mise en page seront réorganisés. Ce comportement est similaire à celui de la mise en page QGridLayout basée sur des widgets. Tous les enfants visibles de l’élément GridLayout feront partie de la mise en page. Si vous souhaitez une mise en page comportant une seule ligne ou une seule colonne, vous pouvez utiliser les éléments ` RowLayout ` ou ` ColumnLayout`. Ceux-ci offrent une API un peu plus pratique et améliorent la lisibilité.
Par défaut, les éléments seront disposés selon la propriété ` flow `. La valeur par défaut de la propriété ` flow ` est ` GridLayout.LeftToRight`.
Si la propriété ` columns ` est spécifiée, elle sera considérée comme la limite maximale du nombre de colonnes que la mise en page peut comporter, avant que le positionnement automatique ne revienne au début de la ligne suivante. La propriété ` columns ` n’est utilisée que lorsque ` flow ` est défini sur ` GridLayout.LeftToRight`.

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 }
}La propriété ` rows ` fonctionne de manière similaire, mais les éléments sont positionnés automatiquement à la verticale. La propriété ` rows ` n’est utilisée que lorsque la propriété ` flow ` est définie sur ` GridLayout.TopToBottom`.
Vous pouvez spécifier la cellule que vous souhaitez voir occuper par un élément en définissant les propriétés ` Layout.row ` et ` Layout.column `. Vous pouvez également spécifier l'étendue sur plusieurs lignes ou colonnes en définissant les propriétés ` Layout.rowSpan ` ou ` Layout.columnSpan `.
Les éléments d'un GridLayout prennent en charge les propriétés associées suivantes :
- 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
Pour en savoir plus sur les propriétés associées, cliquez ici.
Voir également les présentations générales des propriétésRowLayout, ColumnLayout, StackLayout, Grid et Qt Quick Layouts .
Documentation sur les propriétés
columnSpacing : real
Cette propriété définit l'espacement entre chaque colonne. La valeur par défaut est « 5 ».
columns : int
Cette propriété définit la limite du nombre de colonnes pour les éléments positionnés lorsque la propriété « flow » est définie sur « GridLayout.LeftToRight ». Par défaut, il n'y a pas de limite.
flow : enumeration
Cette propriété définit le sens de défilement des éléments pour lesquels aucune position de cellule n'est explicitement définie. Elle s'utilise conjointement avec la propriété « columns » ou « rows », qui spécifient respectivement à quel moment le défilement est réinitialisé à la ligne ou à la colonne suivante.
Les valeurs possibles sont :
| Constante | Description |
|---|---|
GridLayout.LeftToRight | (par défaut) Les éléments sont positionnés les uns à côté des autres, puis repassent à la ligne suivante. |
GridLayout.TopToBottom | Les éléments sont positionnés les uns à côté des autres de haut en bas, puis repassent à la colonne suivante. |
Voir également rows et columns.
layoutDirection : enumeration [since QtQuick.Layouts 1.1]
Cette propriété définit le sens de disposition de la grille ; elle détermine si les éléments sont disposés de gauche à droite ou de droite à gauche. Si la valeur « Qt.RightToLeft » est spécifiée, les éléments alignés à gauche seront alignés à droite et ceux alignés à droite seront alignés à gauche.
Valeurs possibles :
| Constante | Description |
|---|---|
Qt.LeftToRight | (par défaut) Les éléments sont disposés de gauche à droite. |
Qt.RightToLeft | Les éléments sont disposés de droite à gauche. |
Cette propriété a été introduite dans QtQuick.Layouts 1.1.
Voir également RowLayout::layoutDirection et ColumnLayout::layoutDirection.
rowSpacing : real
Cette propriété définit l'espacement entre chaque ligne. La valeur par défaut est « 5 ».
rows : int
Cette propriété définit la limite du nombre de lignes pour les éléments positionnés lorsque la propriété « flow » est définie sur « GridLayout.TopToBottom ». Par défaut, il n'y a pas de limite.
uniformCellHeights : bool [since QtQuick.Layouts 6.6]
Si cette propriété est définie sur « true », la mise en page imposera une hauteur uniforme à toutes les cellules. Dans ce mode, la mise en page s’efforce de respecter les principes énoncés sur Layout.minimumHeight, Layout.preferredHeight et Layout.maximumHeight, mais peut être amenée à faire des compromis pour satisfaire les exigences de tous les éléments.
La valeur par défaut est false.
Cette propriété a été introduite dans QtQuick.Layouts 6.6.
Voir également GridLayout::uniformCellWidths, RowLayout::uniformCellSizes et ColumnLayout::uniformCellSizes.
uniformCellWidths : bool [since QtQuick.Layouts 6.6]
Si cette propriété est définie sur true, la mise en page imposera une largeur uniforme à toutes les cellules. Dans ce mode, la mise en page s'efforce de respecter les normes Layout.minimumWidth, Layout.preferredWidth et Layout.maximumWidth, mais peut faire certains compromis afin de satisfaire les exigences de tous les éléments.
La valeur par défaut est « false ».
Cette propriété a été introduite dans QtQuick.Layouts 6.6.
Voir également GridLayout::uniformCellHeights, RowLayout::uniformCellSizes et 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.