Qt Quick Controls QML Types
Qt Quick Controls fournit des types QML permettant de créer des interfaces utilisateur. Ces types QML fonctionnent en association avec Qt Quick et Qt Quick Layouts.
Qt Quick Controls Les types QML peuvent être importés dans votre application à l'aide de l'instruction d'importation suivante dans votre fichier .qml :
import QtQuick.ControlsTypes QML
Type de base abstrait fournissant des fonctionnalités communes aux boutons | |
Action d'interface utilisateur abstraite | |
Regroupe des actions | |
Fenêtre de niveau supérieur stylisée prenant en charge un en-tête et un pied de page | |
Indique une activité en arrière-plan, par exemple pendant le chargement du contenu | |
Bouton sur lequel on peut cliquer pour exécuter une commande ou répondre à une question | |
Groupe de boutons à cocher mutuellement exclusifs | |
Un espace de noms de calendrier | |
Un modèle de calendrier | |
Bouton à cocher pouvant être activé ou désactivé | |
Délégué d’élément avec un indicateur de sélection pouvant être activé ou désactivé | |
Combinaison d’un bouton et d’une liste déroulante pour sélectionner des options | |
Type de base abstrait fournissant des fonctionnalités communes aux conteneurs | |
Le type associé permet d’ouvrir un menu contextuel adapté à la plateforme | |
Type de base abstrait fournissant des fonctionnalités communes à tous les contrôles | |
Une ligne de noms correspondant aux jours de la semaine | |
Bouton de sélection qui s’active lorsqu’on le maintient enfoncé suffisamment longtemps | |
Molette circulaire que l'on fait tourner pour définir une valeur | |
Boîte de dialogue contextuelle comportant des boutons standard et un titre, utilisée pour une interaction ponctuelle avec l’utilisateur | |
Une zone de boutons utilisée dans les boîtes de dialogue | |
Permet à l'utilisateur de sélectionner une valeur parmi un ensemble de valeurs à virgule flottante prédéfinies | |
Panneau latéral pouvant être ouvert et fermé à l'aide d'un geste de balayage | |
Cadre visuel pour un groupe logique de contrôles | |
Cadre visuel et titre pour un groupe logique de contrôles | |
Fournit une vue d’en-tête horizontale pour accompagner une TableView | |
Délégué d'élément de base pouvant être utilisé dans diverses vues et commandes | |
Étiquette de texte stylisée avec police héritée | |
Fenêtre contextuelle pouvant servir de menu contextuel ou de menu déroulant | |
Fournit une barre de menus de fenêtre | |
Affiche un menu déroulant au sein d'une barre de menus | |
Affiche un élément au sein d’un menu | |
Sépare un groupe d’éléments d’un menu des éléments adjacents | |
Une grille de jours pour un mois civil | |
Une fenêtre superposée pour les fenêtres contextuelles | |
Contrôle de page stylisé prenant en charge un en-tête et un pied de page | |
Indique la page actuellement active | |
Fournit un arrière-plan assorti au style et au thème de l’application | |
Type de base des contrôles d’interface utilisateur de type fenêtre contextuelle | |
Indique la progression d’une opération | |
Bouton radio exclusif pouvant être activé ou désactivé | |
Délégué d'élément exclusif avec un indicateur de radio pouvant être activé ou désactivé | |
Permet de sélectionner une plage de valeurs en faisant glisser deux curseurs le long d’une piste | |
Un bouton-poussoir aux coins arrondis sur lequel l'utilisateur peut cliquer | |
Barre de défilement interactive verticale ou horizontale | |
Indicateur de défilement vertical ou horizontal non interactif | |
Vue défilable | |
Un champ de saisie spécialisé conçu pour la fonctionnalité de recherche | |
Utilisé pour sélectionner des cellules d’un tableau dans une TableView | |
Permet de sélectionner une valeur en faisant glisser un curseur le long d'une piste | |
Permet à l'utilisateur de faire son choix parmi un ensemble de valeurs prédéfinies | |
Fournit des propriétés associées aux curseurs de SplitView | |
Dispose les éléments avec un séparateur déplaçable entre chaque élément | |
Fournit un modèle de navigation basé sur une pile | |
Délégué d'élément pouvant être balayé | |
Permet à l'utilisateur de naviguer entre les pages en balayant latéralement | |
Bouton pouvant être activé ou désactivé | |
Délégué d'élément avec un indicateur de commutation pouvant être activé ou désactivé | |
Permet à l’utilisateur de basculer entre différentes vues ou sous-tâches | |
Bouton dont l'apparence est adaptée à une barre d'onglets | |
Un délégué pouvant être attribué à une TableView | |
Zone de saisie de texte multiligne | |
Champ de saisie de texte sur une seule ligne | |
Conteneur pour les contrôles contextuels | |
Bouton dont l'apparence est adaptée à une barre d'outils (ToolBar) | |
Sépare un groupe d'éléments d'une barre d'outils des éléments adjacents | |
Fournit des info-bulles pour n’importe quel contrôle | |
Un délégué pouvant être attribué à une TreeView | |
Molette permettant de faire défiler les éléments sélectionnables | |
Propose une vue d'en-tête verticale pour accompagner une TableView | |
Une colonne indiquant les numéros de semaine |
Utilisation des types « Qt Quick Controls » dans les déclarations de propriétés
Comme mentionné dans Qt Quick Templates 2 QML Types, chaque type d’ Qt Quick Controls est adossé à un type « modèle » (template) C++. Ces types constituent des implémentations non visuelles de la logique et du comportement des contrôles.
Par exemple, l’API et le comportement du type Menu sont définis par le type C++ dans les modèles d’ Qt Quick. Chaque style souhaitant fournir un Menu doit disposer d’un fichier Menu.qml, et l’élément racine de ce fichier doit être le Menu issu de Qt Quick Templates. Lorsque vous importez QtQuick.Controls et créez un Menu en QML, le type obtenu correspond en réalité au Menu QML défini par le fichier Menu.qml du style.
Pour utiliser un contrôle comme type dans une déclaration de propriété, vous devez utiliser le type correspondant issu des modèles « Qt Quick ». Par exemple, supposons que vous disposiez d’un composant « PopupOpener », qui était un bouton ouvrant une fenêtre contextuelle :
// PopupButton.qml
import QtQuick.Controls
Button {
required property Popup popup
onClicked: popup.open()
}
// main.qml
PopupButton {
popup: saveChangesDialog
}
Dialog {
id: saveChangesDialog
// ...
}L'exécution de ce code entraînera une erreur :
Unable to assign Dialog_QMLTYPE to Popup_QMLTYPECela est dû à la hiérarchie d’héritage :
Popup (C++ type in QtQuick.Templates)
│ └── Popup (QML type in QtQuick.Controls)
└── Dialog (C++ type in QtQuick.Templates)
└── Dialog (QML type in QtQuick.Controls)Le composant « Dialog » de QtQuick.Controls ne dérive pas du composant « Popup » de QtQuick.Controls, mais de QtQuick.Templates.
Utilisez plutôt le Popup issu des modèles de Qt Quick comme type de propriété :
// PopupButton.qml
import QtQuick.Controls
import QtQuick.Templates as T
Button {
required property T.Popup popup
onClicked: popup.open()
}Pour plus d’informations sur le module Qt Quick Controls, consultez la Qt Quick Controls documentation du module.
Informations connexes
© 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.