Figure 15.5 : Positionnement absolu de positionneurs : aucun redimensionnement
Au contraire, en utilisant des ancres pour, par exemple, occuper tout l'espace
disponible du parent, l'affichage du contenu s'adaptera à la largeur en cas de
redimensionnement. De plus, en indiquant des contraintes sur la taille de chaque
composant, tous les éléments du conteneur pourront s'adapter eux-mêmes à la nouvelle
taille. Pour ce faire, chaque composant dispose de propriétés attachées Layout., qui
contrôlent ce mécanisme.
RowLayout {
// …
Rectangle {
width: 50; height: 150
Text { … } } Rectangle { height: 150 Layout.fillWidth: true
Layout.minimumWidth: 50 Layout.preferredWidth: 50 Layout.maximumWidth: 150
Text { … } } Rectangle { height: 150 Layout.fillWidth: true Layout.minimumWidth: 75
Layout.preferredWidth: 100 Layout.maximumWidth: 250 Text { … } } }
Le premier rectangle du positionneur a une taille fixée : jamais il ne sera
redimensionné, ses dimensions resteront celles fixées à cet endroit (à moins que la
valeur de ses propriétés soit changée à l'exécution).
Le deuxième rectangle aura sa hauteur fixée, le reste de l'exemple se focalisera sur
la largeur.
Pour que Qt Quick se charge de changer la largeur des éléments à l'exécution, cette
propriété doit être activée. Sinon, les éléments ne seront pas impactés, peu importe
les autres propriétés.
314
Au contraire, en utilisant des ancres pour, par exemple, occuper tout l'espace
disponible du parent, l'affichage du contenu s'adaptera à la largeur en cas de
redimensionnement. De plus, en indiquant des contraintes sur la taille de chaque
composant, tous les éléments du conteneur pourront s'adapter eux-mêmes à la nouvelle
taille. Pour ce faire, chaque composant dispose de propriétés attachées Layout., qui
contrôlent ce mécanisme.
RowLayout {
// …
Rectangle {
width: 50; height: 150
Text { … } } Rectangle { height: 150 Layout.fillWidth: true
Layout.minimumWidth: 50 Layout.preferredWidth: 50 Layout.maximumWidth: 150
Text { … } } Rectangle { height: 150 Layout.fillWidth: true Layout.minimumWidth: 75
Layout.preferredWidth: 100 Layout.maximumWidth: 250 Text { … } } }
Le premier rectangle du positionneur a une taille fixée : jamais il ne sera
redimensionné, ses dimensions resteront celles fixées à cet endroit (à moins que la
valeur de ses propriétés soit changée à l'exécution).
Le deuxième rectangle aura sa hauteur fixée, le reste de l'exemple se focalisera sur
la largeur.
Pour que Qt Quick se charge de changer la largeur des éléments à l'exécution, cette
propriété doit être activée. Sinon, les éléments ne seront pas impactés, peu importe
les autres propriétés.
314
