Sur cette page

Utilisation de modèles dans Qt Widgets Designer

Avant de pouvoir utiliser un formulaire, les objets qu'il contient doivent être placés dans des présentations. Cela permet de s'assurer que les objets seront affichés correctement lorsque le formulaire sera prévisualisé ou utilisé dans une application. Le fait de placer les objets dans une disposition permet également de s'assurer qu'ils seront redimensionnés correctement lorsque le formulaire sera redimensionné.

Une fois que les widgets ont été insérés dans une disposition, il n'est pas possible de les déplacer et de les redimensionner individuellement, car la disposition elle-même contrôle la géométrie de chaque widget en son sein, en tenant compte des indications fournies par les espaceurs. Des espaceurs peuvent être ajoutés à la mise en page pour influencer les géométries des widgets.

Les présentations peuvent être imbriquées pour former une hiérarchie. Par exemple, pour obtenir une boîte de dialogue typique avec une rangée horizontale de boutons, les éléments de la boîte de dialogue peuvent être disposés à l'aide d'une boîte verticale avec une boîte horizontale contenant les boutons au bas de la boîte. Pour une introduction au système de présentation de Qt, voir Gestion des présentations.

Pour interrompre une disposition, appuyez sur Ctrl+0 ou choisissez Interrompre la disposition dans le menu contextuel du formulaire, dans le menu Formulaire ou dans la barre d'outils principale.

Définition d'une disposition de premier niveau

La disposition de premier niveau du formulaire peut être définie en effaçant la sélection (cliquez sur le bouton gauche de la souris sur le formulaire lui-même) et en appliquant une disposition. Une mise en page de premier niveau est nécessaire pour garantir que vos widgets se redimensionnent correctement lorsque la fenêtre est redimensionnée. Pour vérifier si vous avez défini une disposition de premier niveau, prévisualisez votre widget et essayez de redimensionner la fenêtre en faisant glisser la poignée de taille.

Capture d'écran montrant les boutons permettant de modifier le type de mise en pageApplication d'une disposition

Pour appliquer une mise en page, vous pouvez sélectionner la mise en page de votre choix dans la barre d'outils ci-contre ou dans le menu contextuel ci-dessous.

De même, les mises en page de premier niveau sont définies sur les widgets conteneurs (QGroupBox) ou sur les pages des widgets conteneurs basés sur les pages (QTabWidget, QToolBox et QStackedWidget), respectivement. Le widget conteneur doit être sélectionné pour que cette opération réussisse.

Les présentations de haut niveau ne sont pas visibles en tant qu'objets distincts dans l'inspecteur d'objets. Leurs propriétés apparaissent sous les propriétés du formulaire principal, du widget conteneur ou de la page d'un widget conteneur dans l'éditeur de propriétés.

Capture d'écran montrant une autre option pour changer le type de mise en page en cliquant avec le bouton droit de la souris dans l'éditeur

Objets de mise en page

Les objets de disposition sont créés en appliquant une disposition à un groupe d'objets existants. Pour ce faire, il suffit de sélectionner les objets à gérer et d'appliquer l'une des dispositions standard à l'aide de la barre d'outils principale, du menu Formulaire ou du menu contextuel du formulaire.

L'objet de mise en page est indiqué par un cadre rouge sur le formulaire et apparaît comme un objet dans l'inspecteur d'objets. Ses propriétés (marges et contraintes) sont affichées dans l'éditeur de propriétés.

L'objet de mise en page peut être sélectionné et placé dans une autre mise en page avec d'autres widgets et objets de mise en page pour construire une hiérarchie de mise en page.

Lorsqu'un objet de mise en page enfant est sélectionné, son objet de mise en page parent peut être sélectionné en appuyant sur la touche Shift tout en cliquant dessus. Cela permet de sélectionner une mise en page spécifique dans une hiérarchie, ce qui est autrement difficile en raison de la petite taille du cadre.

Insertion d'objets dans une mise en page

Les objets peuvent être insérés dans une mise en page existante en les faisant glisser de leur position actuelle et en les déposant à l'endroit voulu. Un curseur bleu s'affiche dans la mise en page lorsqu'un objet est glissé dessus pour indiquer l'endroit où l'objet sera ajouté.

Capture d'écran montrant comment déplacer des widgets dans une mise en page par glisser-déposer

Insertion d'objets dans une mise en page

Types de mise en page

Dispositions horizontale et verticale (boîte)

La manière la plus simple de disposer les objets sur un formulaire est de les placer dans une disposition horizontale ou verticale. Les dispositions horizontales garantissent que les widgets qu'elles contiennent sont alignés horizontalement ; les dispositions verticales garantissent qu'ils sont alignés verticalement.

Les dispositions horizontales et verticales peuvent être combinées et imbriquées à n'importe quelle profondeur. Toutefois, si vous avez besoin de plus de contrôle sur l'emplacement des objets, envisagez d'utiliser la disposition en grille.

La disposition en grille

Il est possible de créer des présentations de formulaires complexes en plaçant les objets dans une grille. Ce type de disposition donne au concepteur du formulaire beaucoup plus de liberté pour disposer les widgets sur le formulaire, mais peut donner lieu à une disposition beaucoup moins flexible. Toutefois, pour certains types de formulaires, une disposition en grille est beaucoup plus appropriée qu'une disposition imbriquée de dispositions horizontales et verticales.

La mise en page du formulaire

La classe QFormLayout gère les widgets dans un formulaire à deux colonnes ; la colonne de gauche contient les étiquettes et la colonne de droite les widgets de champ tels que les modifications de ligne, les boîtes de dialogue, etc. La classe QFormLayout respecte les directives relatives à l'aspect et à la convivialité des différentes plates-formes et prend en charge l'habillage des longues lignes.

Capture d'écran montrant un exemple de mise en page avec deux étiquettes et un champ de texte sur le côté de chaque étiquette.

Le fichier UI ci-dessus permet d'obtenir les aperçus ci-dessous.

WindowsmacOSCleanlooks
Capture d'écran montrant l'aperçu de la mise en page sous WindowsCapture d'écran montrant l'aperçu de la mise en page sur macOSCapture d'écran montrant la prévisualisation de la mise en page avec une apparence propre sur Windows XP

Séparer les mises en page

Une autre façon courante de gérer la disposition des objets sur un formulaire consiste à les placer dans un séparateur. Ces séparateurs organisent les objets horizontalement ou verticalement de la même manière que les dispositions normales, mais permettent également à l'utilisateur d'ajuster la quantité d'espace allouée à chaque objet.

Capture d'écran montrant la modification de la disposition en "Disposer verticalement dans le séparateur".

Bien que QSplitter soit un widget conteneur, Qt Widgets Designer traite les objets séparateurs comme des dispositions appliquées aux widgets existants. Pour placer un groupe de widgets dans un séparateur, sélectionnez-les comme décrit ici, puis appliquez la disposition du séparateur à l'aide du bouton approprié de la barre d'outils, du raccourci clavier ou de l'entrée du menu contextuel Disposer.

Touches de raccourci

Outre les entrées standard de la barre d'outils et du menu contextuel, il existe également un ensemble de raccourcis clavier permettant d'appliquer des dispositions aux widgets.

DispositionRaccourciDescription du raccourci
HorizontalCtrl+1Place les objets sélectionnés dans une disposition horizontale.
VerticalCtrl+2Place les objets sélectionnés dans une disposition verticale.
GrilleCtrl+5Place les objets sélectionnés dans une grille.
FormeCtrl+6Place les objets sélectionnés dans une disposition de type formulaire.
Séparateur horizontalCtrl+3Crée un séparateur horizontal et y place les objets sélectionnés.
Séparateur verticalCtrl+4Crée un séparateur vertical et y place les objets sélectionnés.
Ajuster la tailleCtrl+JAjuste la taille de la mise en page afin que chaque objet enfant dispose de suffisamment d'espace pour afficher son contenu. Voir QWidget::adjustSize() pour plus d'informations.

Remarque : Ctrl+0 est utilisé pour interrompre une mise en page.

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