2. Positionneurs
Pour afficher plusieurs barres d'outils, par exemple, les positionneurs (layouts) de
Qt Quick se révèlent très utiles : en fonction de certains paramètres, ces composants
particuliers se chargent de disposer leurs éléments dans l'espace alloué. Par exemple,
RowLayout sert à répartir les éléments sur une ligne. Le mécanisme des positionneurs
est cependant plus général : il est aussi possible de disposer des éléments dans une
grille ou dans une colonne.
Cette manière de procéder est plus simple que le recours à des ancres, puisque tous les
éléments sont automatiquement affichés dans leur ordre de définition, sans qu'il soit
nécessaire d'indiquer les liens entre deux éléments consécutifs. De plus, ces
positionneurs gèrent automatiquement la dimension des composants selon le
redimensionnement de l'interface.
Tous les positionneurs se trouvent dans un module particulier de Qt Quick :
QtQuick.Layouts. Les deux principaux ont déjà été brièvement présentés pour
afficher les boutons d'une barre : RowLayout pour les aligner horizontalement,
ColumnLayout verticalement.
2.1. Redimensionnement
La manière la plus simple d'utiliser des positionneurs est probablement de leur
attribuer une position absolue dans l'interface, comme n'importe quel autre composant ;
dans ce cas, ils disposeront leurs éléments à partir de cette position, qui correspond à
leur coin en haut à gauche. Cependant, de la sorte, le conteneur ne s'adaptera jamais à
la largeur de la fenêtre en cas de redimensionnement.
RowLayout {
x: 10; y: 10
Button { text: "Nouveau" }
Button { text: "Sauvegarder" }
Button { text: "Supprimer" }
}
ColumnLayout {
// Idem
}
313
Pour afficher plusieurs barres d'outils, par exemple, les positionneurs (layouts) de
Qt Quick se révèlent très utiles : en fonction de certains paramètres, ces composants
particuliers se chargent de disposer leurs éléments dans l'espace alloué. Par exemple,
RowLayout sert à répartir les éléments sur une ligne. Le mécanisme des positionneurs
est cependant plus général : il est aussi possible de disposer des éléments dans une
grille ou dans une colonne.
Cette manière de procéder est plus simple que le recours à des ancres, puisque tous les
éléments sont automatiquement affichés dans leur ordre de définition, sans qu'il soit
nécessaire d'indiquer les liens entre deux éléments consécutifs. De plus, ces
positionneurs gèrent automatiquement la dimension des composants selon le
redimensionnement de l'interface.
Tous les positionneurs se trouvent dans un module particulier de Qt Quick :
QtQuick.Layouts. Les deux principaux ont déjà été brièvement présentés pour
afficher les boutons d'une barre : RowLayout pour les aligner horizontalement,
ColumnLayout verticalement.
2.1. Redimensionnement
La manière la plus simple d'utiliser des positionneurs est probablement de leur
attribuer une position absolue dans l'interface, comme n'importe quel autre composant ;
dans ce cas, ils disposeront leurs éléments à partir de cette position, qui correspond à
leur coin en haut à gauche. Cependant, de la sorte, le conteneur ne s'adaptera jamais à
la largeur de la fenêtre en cas de redimensionnement.
RowLayout {
x: 10; y: 10
Button { text: "Nouveau" }
Button { text: "Sauvegarder" }
Button { text: "Supprimer" }
}
ColumnLayout {
// Idem
}
313
