Sur cette page

Utilisation des mises en page dans le Concepteur d'Qt Widgets

Avant de pouvoir utiliser un formulaire, les objets qu’il contient doivent être placés dans des mises en page. Cela garantit que les objets s’afficheront correctement lors de la prévisualisation du formulaire ou de son utilisation dans une application. Le placement des objets dans une mise en page garantit également qu’ils seront redimensionnés correctement lorsque le formulaire sera redimensionné.

Une fois les widgets insérés dans une mise en page, il n’est plus possible de les déplacer ou de les redimensionner individuellement, car c’est la mise en page elle-même qui contrôle la géométrie de chaque widget qu’elle contient, en tenant compte des indications fournies par les espaceurs. Des espaceurs peuvent être ajoutés à la mise en page pour influencer la géométrie des widgets.

Les mises en page peuvent être imbriquées pour former une hiérarchie. Par exemple, pour obtenir une mise en page de boîte de dialogue classique avec une rangée horizontale de boutons, les éléments de la boîte de dialogue peuvent être disposés à l’aide d’une mise en page de type « boîte verticale » contenant une mise en page de type « boîte horizontale » avec les boutons en bas. Pour une introduction au système de mise en page de Qt, reportez-vous à la section Gestion des mises en page.

Pour rompre une mise en page, appuyez sur Ctrl+0 ou sélectionnez « Rompre la mise en page » dans le menu contextuel du formulaire, dans le menu Formulaire ou dans la barre d'outils principale.

Définition d'une mise en page de niveau supérieur

La mise en page de niveau supérieur du formulaire peut être définie en désélectionnant la zone (cliquez avec le bouton gauche de la souris sur le formulaire lui-même) puis en appliquant une mise en page. Une mise en page de niveau supérieur est nécessaire pour garantir que vos widgets s'adaptent correctement lorsque la taille de la fenêtre est modifiée. Pour vérifier si vous avez défini une mise en page de niveau supérieur, prévisualisez votre widget et essayez de redimensionner la fenêtre en faisant glisser la poignée de redimensionnement.

Capture d'écran présentant les boutons permettant de modifier le type de mise en pageAppliquer une mise en page

Pour appliquer une mise en page, vous pouvez sélectionner celle de votre choix dans la barre d'outils affichée à gauche ou dans le menu contextuel présenté ci-dessous.

De même, les mises en page de niveau supérieur sont définies respectivement sur les widgets conteneurs (QGroupBox) ou sur les pages des widgets conteneurs basés sur des pages (QTabWidget, QToolBox et QStackedWidget). Pour que cela fonctionne, le widget conteneur doit être sélectionné.

Les mises en page de niveau supérieur 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 widget du formulaire principal, du widget conteneur ou de la page d’un widget conteneur dans l’Éditeur de propriétés.

Capture d'écran présentant une autre option permettant de modifier 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 mise en page sont créés en appliquant une mise en page à un groupe d’objets existants. Pour ce faire, sélectionnez les objets que vous souhaitez gérer, puis appliquez l’une des mises en page 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 signalé 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é au sein d'une autre mise en page, aux côtés d'autres widgets et objets de mise en page, afin de 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 maintenant la touche Maj enfoncée 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

Des objets peuvent être insérés dans une mise en page existante en les faisant glisser depuis leur position actuelle et en les déposant à l'emplacement souhaité. Un curseur bleu s'affiche dans la mise en page lorsqu'un objet est déplacé dessus, afin d'indiquer l'endroit où l'objet sera ajouté.

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

Insertion d'objets dans une mise en page

Types de mises en page

Mises en page horizontales et verticales (boîtes)

La manière la plus simple d'agencer des objets sur un formulaire consiste à 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 mises en page horizontales et verticales peuvent être combinées et imbriquées à n'importe quel niveau de profondeur. Toutefois, si vous avez besoin d'un contrôle accru sur le placement des objets, pensez à utiliser la mise en page en grille.

La disposition en grille

Il est possible de créer des mises en page de formulaire complexes en plaçant les objets dans une mise en page en grille. Ce type de mise en page offre au concepteur de formulaires une bien plus grande liberté pour agencer les widgets sur le formulaire, mais peut se traduire par une mise en page beaucoup moins flexible. Toutefois, pour certains types de mise en page de formulaire, une disposition en grille est bien plus adaptée qu'une disposition imbriquée de mises en page 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 libellés et celle de droite les widgets de saisie tels que les champs de saisie en ligne, les champs à sélection, etc. La classe ` QFormLayout ` respecte diverses directives de présentation propres à chaque plateforme et prend en charge le retour à la ligne pour les lignes longues.

Capture d'écran présentant un exemple de mise en page avec deux étiquettes, chacune comportant un champ de texte sur le côté

Le fichier d'interface utilisateur ci-dessus donne lieu aux aperçus présentés ci-dessous.

WindowsmacOSCleanlooks
Capture d'écran présentant l'aperçu de la mise en page sous WindowsCapture d'écran présentant l'aperçu de la mise en page sous macOSCapture d'écran présentant l'aperçu de la mise en page avec un rendu épuré sous Windows XP

Dispositions des séparateurs

Une autre méthode courante pour gérer la disposition des objets dans un formulaire consiste à les placer dans un séparateur. Ces séparateurs organisent les objets horizontalement ou verticalement, comme les dispositions classiques, mais permettent également à l'utilisateur d'ajuster l'espace alloué à chaque objet.

Capture d'écran illustrant comment modifier la disposition pour « Disposition verticale dans le séparateur »

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

Raccourcis clavier

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

Mise en pageRaccourciDescription
HorizontaleCtrl+1Place les objets sélectionnés dans une disposition horizontale.
VerticalCtrl+2Dispose les objets sélectionnés selon une disposition verticale.
GrilleCtrl+5Place les objets sélectionnés dans une disposition en grille.
FormeCtrl+6Dispose les objets sélectionnés selon une disposition en formulaire.
Séparateur horizontalCtrl+3Crée un séparateur horizontal et place les objets sélectionnés à l'intérieur.
Séparateur verticalCtrl+4Crée un séparateur vertical et place les objets sélectionnés à l'intérieur.
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 : la combinaison Ctrl+0 permet de décomposer 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.