« Programmation Qt/Le positionnement des widgets » : différence entre les versions

Contenu supprimé Contenu ajouté
Athozus (discussion | contributions)
+ Résumé
Athozus (discussion | contributions)
Ligne 114 :
maPage->setLayout(layoutPrincipal);
</syntaxhighlight>On observe que la méthode pour combiner les layouts est <code>addLayout()</code>.
{{Attention|La méthode <code>addLayout()</code> existe uniquement pour les <code>QHBoxLayout</code>, <code>QVBoxLayout</code> et <code>QGridLayout</code>. N'utilisez donc pas cette méthode avec <code>QFormLayout</code> !}}{{Résumé|Il existe deux positionnements : le ''''positionnement absolu''' et le '''positionnement relatif'''. L'absolu a plusieurs défauts qui sont réglés dans le relatif, mais il est parfois plus utile que le relatif.|Les '''layouts''' sont à la base du positionnement relatif : ils contiennent tous les widgets selon un plan précis.|Les layouts <code>QHBoxLayout</code> et <code>QVBoxLayout</code> sont des layouts n'opérant que sur un seul axe ; il revient néanmoins plus utile dans certaines situations. On utilise la méthode <code>addWidget()</code> pour insérer un widget.|Le layout de grille combine les layouts horizontaux et verticaux. Il s'utilise avec la classe <code>QGridLayout</code>. Là aussi, la méthode <code>addWidget()</code> s'utilise, mais avec quelques modifications : on y indique désormais le numéro de ligne et de colonne, et dans certains cas, le nombre de lignes ou de colonnes qu'occupe un seul widget ; on parle alors de '''''spaning'''''.|Le layout de formulaire, utilisé avec <code>QFormLayout</code>, est spécialement conçu pour les formulaires. On y ajoute un champ avec la méthode <code>addRow(label, widget)</code>.|Enfin, les layouts se fortifient quand on les combine, avec la méthode <code>addLayout()</code>, de même structure que <code>addWidget()</code>.}}