Sur cette page

GridLayout QML Type

Permet d'organiser dynamiquement les éléments d'une grille. Plus d'informations...

Import Statement: import QtQuick.Layouts
Inherits:

Item

Propriétés

Description détaillée

Pour pouvoir utiliser ce type plus efficacement, il est recommandé de comprendre le mécanisme général du module Qt Quick Layouts. Pour plus d'informations, consultez le siteQt Quick Layouts Overview.

Si le GridLayout est redimensionné, tous les éléments de la disposition seront réorganisés. Il s'agit d'un mécanisme similaire à celui basé sur les widgets QGridLayout. Tous les enfants visibles de l'élément GridLayout appartiennent à la présentation. Si vous souhaitez une présentation avec une seule ligne ou une seule colonne, vous pouvez utiliser les éléments RowLayout ou ColumnLayout. Ils offrent une API un peu plus pratique et améliorent la lisibilité.

Par défaut, les éléments sont disposés conformément à 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 traitée comme une limite maximale du nombre de colonnes que la mise en page peut avoir, avant que l'auto-positionnement ne revienne au début de la ligne suivante. La propriété columns n'est utilisée que lorsque flow est GridLayout.LeftToRight.

Texte disposé en grille : Trois, mots, dans, une, rangée

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 auto-positionnés verticalement. La propriété rows n'est utilisée que lorsque flow est GridLayout.TopToBottom.

Vous pouvez spécifier la cellule qu'un élément doit occuper en définissant les propriétés Layout.row et Layout.column. Vous pouvez également spécifier l'étendue de la ligne ou de la colonne en définissant les propriétés Layout.rowSpan ou Layout.columnSpan.

Les éléments d'une GridLayout prennent en charge ces propriétés attachées :

Pour en savoir plus sur les propriétés attachées , cliquez ici.

Voir également RowLayout, ColumnLayout, StackLayout, Grid, et Qt Quick Layouts Overview.

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 de la colonne pour les éléments positionnés si flow est GridLayout.LeftToRight. La valeur par défaut est qu'il n'y a pas de limite.

flow : enumeration

Cette propriété définit la direction du flux des éléments qui n'ont pas de position de cellule explicite. Elle est utilisée conjointement avec les propriétés columns ou rows, qui précisent respectivement quand le flux est réinitialisé à la ligne ou à la colonne suivante.

Les valeurs possibles sont les suivantes

ConstanteDescription
GridLayout.LeftToRight(par défaut) Les éléments sont positionnés les uns à côté des autres, puis passent à la ligne suivante.
GridLayout.TopToBottomLes éléments sont positionnés les uns à côté des autres, de haut en bas, puis passent à la colonne suivante.

Voir également rows et columns.

layoutDirection : enumeration [since QtQuick.Layouts 1.1]

Cette propriété définit la direction de la mise en page de la grille - elle détermine si les éléments sont disposés de gauche à droite ou de droite à gauche. Si Qt.RightToLeft est spécifié, les éléments alignés à gauche seront alignés à droite et les éléments alignés à droite seront alignés à gauche.

Valeurs possibles :

ConstanteDescription
Qt.LeftToRight(par défaut) Les éléments sont disposés de gauche à droite.
Qt.RightToLeftLes é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 de lignes pour les éléments positionnés si flow est GridLayout.TopToBottom. La valeur par défaut est qu'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 forcera toutes les cellules à avoir une hauteur uniforme. La mise en page vise à respecter Layout.minimumHeight, Layout.preferredHeight et Layout.maximumHeight dans ce mode, mais peut faire des compromis pour répondre aux 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 aussi 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 forcera toutes les cellules à avoir une largeur uniforme. La mise en page vise à respecter Layout.minimumWidth, Layout.preferredWidth et Layout.maximumWidth dans ce mode, mais peut faire des compromis pour répondre aux 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 aussi 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.