Sur cette page

FlexboxLayout QML Type

La construction QML FlexboxLayout fournit une disposition flexible pour les éléments rapides. Plus d'informations...

Import Statement: import QtQuick.Layouts
Since: Qt 6.10
Inherits:

Item

Status: Preliminary

Ce type est en cours de développement et peut être modifié.

Propriétés

Propriétés rattachées

Description détaillée

Le FlexboxLayout permet de mettre en page les éléments rapides de manière flexible, comme le fait le CSS Flexible Box Layout. En interne, Qt FlexboxLayout utilise le moteur Yoga pour dériver la géométrie des éléments flexibles. La bibliothèque Yoga est un sous-ensemble de la CSS Flexible Box Layout. Ainsi, FlexboxLayout peut être limité à la fonctionnalité prise en charge par la bibliothèque Yoga.

Remarque : le FlexboxLayout est conforme à la version 2.0 de la bibliothèque Yoga pour ce qui est de ses caractéristiques.

Les éléments du FlexboxLayout peuvent être configurés avec des tailles préférées, minimales et maximales par le biais des propriétés attachées à la mise en page existante. Par exemple, si les éléments d'un FlexboxLayout doivent être étirés, la propriété attachée à la mise en page Layout.fillWidth ou Layout.fillHeight peut être définie.

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

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

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.

Exemple d'utilisation

L'extrait suivant montre un exemple minimaliste d'utilisation de QML FlexboxLayout pour organiser les éléments d'un rectangle de manière plus souple.

FlexboxLayout {
    id: flexLayout
    anchors.fill: parent
    wrap: FlexboxLayout.Wrap
    direction: FlexboxLayout.Row
    justifyContent: FlexboxLayout.JustifySpaceAround
    Rectangle {
        color: 'teal'
        implicitWidth: 200
        implicitHeight: 200
    }
    Rectangle {
        color: 'plum'
        implicitWidth: 200
        implicitHeight: 200
    }
    Rectangle {
        color: 'olive'
        implicitWidth: 200
        implicitHeight: 200
    }
    Rectangle {
        color: 'beige'
        implicitWidth: 200
        implicitHeight: 200
    }
    Rectangle {
        color: 'darkseagreen'
        implicitWidth: 200
        implicitHeight: 200
    }
}

Remarque : cette API est considérée comme un aperçu technique et peut être modifiée ou supprimée dans les futures versions de Qt.

Voir également ColumnLayout, GridLayout, RowLayout, StackView, et Qt Quick Layouts Overview.

Documentation sur les propriétés

alignContent : enumeration

Cette propriété spécifie la distribution des lignes de flexion le long de l'axe transversal de la mise en page de la boîte de flexion.

Valeurs possibles :

ConstanteDescription
FlexboxLayout.AlignStart(par défaut) Les lignes de flexion sont alignées au début de la boîte de flexion.
FlexboxLayout.AlignCenterLes lignes flexibles sont alignées le long du centre de la boîte flexible.
FlexboxLayout.AlignEndLes lignes flexibles sont alignées à la fin de la mise en page de la boîte flexible.
FlexboxLayout.AlignStretchLes lignes flexibles sont étirées en fonction de la hauteur de la boîte flexible.
FlexboxLayout.AlignSpaceBetweenLes espaces sont répartis uniformément entre les lignes et il n'y a pas d'espace le long du bord de la boîte flexible.
FlexboxLayout.AlignSpaceAroundLes espaces sont répartis uniformément entre les lignes et l'espace est réduit de moitié sur les bords de la boîte flexible.
FlexboxLayout.AlignSpaceEvenlyLes espaces sont répartis uniformément entre les lignes et les bords de la boîte flexible. Non pris en charge dans Qt 6.10.

La valeur par défaut est FlexboxLayout.AlignStart.

alignItems : enumeration

Cette propriété spécifie l'alignement des éléments à l'intérieur des lignes flexibles de la mise en page de la boîte flexible et son alignement le long de l'axe transversal (qui est orthogonal à l'axe principal, tel que défini par la propriété direction). Cette propriété peut être remplacée par les éléments de la mise en page de la boîte flexible grâce à la propriété jointe FlexboxLayout.alignSelf.

Valeurs possibles :

ConstanteDescription
FlexboxLayout.AlignStart(par défaut) Les éléments sont alignés sur le début de l'axe transversal de la mise en page de la boîte flexible.
FlexboxLayout.AlignCenterLes éléments sont alignés sur le centre de l'axe transversal de la mise en page de la boîte flexible.
FlexboxLayout.AlignEndLes éléments sont alignés à la fin de l'axe transversal de la boîte flexible.

Remarque : les alignements mentionnés dans les valeurs possibles ne s'appliquent qu'à la propriété alignItems

La valeur par défaut est FlexboxLayout.AlignStart.

columnGap : real

Cette propriété indique la quantité d'espace qui doit être appliquée à FlexboxLayout le long de l'axe en ligne. La définition de cette propriété remplace la valeur de gap qui affecte l'axe en ligne.

La valeur par défaut est 0.

direction : enumeration

Cette propriété définit la direction de la mise en page de l'élément dans la boîte flexible ainsi que l'axe principal.

Valeurs possibles :

ConstanteDescription
FlexboxLayout.Row(par défaut) Les éléments sont disposés de gauche à droite.
FlexboxLayout.RowReversedLes éléments sont disposés de droite à gauche.
FlexboxLayout.ColumnLes éléments sont disposés de haut en bas.
FlexboxLayout.ColumnReversedLes éléments sont disposés de bas en haut.

La valeur par défaut est FlexboxLayout.Row.

gap : real

Cette propriété indique la quantité d'espace qui doit être appliquée au site FlexboxLayout à la fois le long de l 'axe de la ligne et de l'axe du bloc.

La valeur par défaut est 0.

justifyContent : enumeration

Cette propriété spécifie la distribution des éléments le long de l'axe principal de la mise en page de la boîte flexible.

Valeurs possibles :

ConstanteDescription
FlexboxLayout.JustifyStart(par défaut) Les éléments sont alignés au début de la boîte flexible.
FlexboxLayout.JustifyCenterLes éléments sont alignés au centre de la boîte flexible.
FlexboxLayout.JustifyEndLes éléments sont alignés à la fin de la boîte flexible.
FlexboxLayout.JustifySpaceBetweenLes espaces sont répartis uniformément entre les éléments et il n'y a pas d'espace le long des bords de la boîte flexible.
FlexboxLayout.JustifySpaceAroundLes espaces sont répartis uniformément entre les articles et l'espace est réduit de moitié sur les bords de la boîte flexible.
FlexboxLayout.JustiftSpaceEvenlyLes espaces sont répartis uniformément entre les éléments et les bords de la boîte flexible.

La valeur par défaut est FlexboxLayout.JustifyStart.

rowGap : real

Cette propriété indique la quantité d'espace qui doit être appliquée à FlexboxLayout le long de l'axe du bloc. La définition de cette propriété remplace la valeur de gap affectant l'axe du bloc.

La valeur par défaut est 0.

wrap : enumeration

Cette propriété spécifie si les éléments de la mise en page de la boîte flexible peuvent être enveloppés ou non et cela se produit lorsque les enfants dépassent la taille de la mise en page de la boîte flexible. Si les éléments sont enveloppés, ils seront placés sur plusieurs lignes en fonction de la condition de débordement indiquée. Chaque ligne prend la taille maximale de l'élément le long de l'axe transversal.

Valeurs possibles :

ConstanteDescription
FlexboxLayout.WrapLes éléments sont regroupés sur plusieurs lignes dans la mise en page de la boîte flexible.
FlexboxLayout.NoWrap(par défaut) Les éléments ne sont pas enveloppés et sont disposés sur une seule ligne dans la mise en page de la boîte flexible.
FlexboxLayout.WrapReverseLes éléments sont regroupés sur plusieurs lignes dans la mise en page de la boîte flexible dans le sens inverse.

La valeur par défaut est FlexboxLayout.NoWrap.

Documentation sur les propriétés attachées

FlexboxLayout.alignSelf : enumeration

Cette propriété jointe permet d'aligner cet élément dans la disposition de la boîte flexible le long de l'axe transversal et remplace la propriété de disposition de la boîte flexible du parent alignItems.

Par défaut, l'élément enfant hérite de l'alignement du parent et peut remplacer la propriété de mise en page de la boîte flexible du parent alignItems par les valeurs FlexboxLayout.AlignStart, FlexboxLayout.AlignCenter et FlexboxLayout.AlignEnd.

La valeur par défaut est FlexboxLayout.AlignAuto.

© 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.