ColumnLayout

Une autre présentation personnalisée des formulaires d'interface utilisateur est une variante de RowLayout. Si nous configurons RowLayout en vue de placer les enfants verticalement (en colonnes) et d'attribuer la même largeur à toutes les commandes de la colonne, nous obtenons plusieurs colonnes (en fonction de la largeur des commandes), mais la dernière colonne ne sera généralement pas totalement remplie (en fonction du nombre de commandes). Encore une fois, si elles sont placées dans un formulaire, toutes les commandes figureront dans une colonne car RowLayout ne peut pas procéder à un encapsulage 'vertical'. Si nous utilisons GridLayout, nous devons choisir le nombre de colonnes en amont et nous en tenir à ce choix.

Dans les formulaires plus complexes, nous pouvons souhaiter que le nombre de colonnes soit adaptatif. En d'autres termes, nous voulons que le nombre change en fonction de la largeur du formulaire - en utiliser davantage lorsque c'est possible, réduire le nombre en fonction de la diminution de la largeur. Nous souhaitons également remplir la zone de formulaire de façon plus ou moins uniforme (toutes les colonnes ayant approximativement la même hauteur). Tout ceci peut être réalisé au moyen de ColumnLayout.

En comparaison avec TableWrapLayout, ColumnLayout est beaucoup plus simple. Quasiment aucune configuration n'est requise. Le seul choix que vous devez effectuer concerne l'intervalle des colonnes (la valeur par défaut est 1 à 3).