Qt Quick Controls QML Types
Qt Quick Controls fournit des types QML pour créer des interfaces utilisateur. Ces types QML fonctionnent en conjonction avec Qt Quick et Qt Quick Layouts.
Qt Quick Les types QML de Controls peuvent être importés dans votre application à l'aide de l'instruction d'importation suivante dans votre fichier .qml :
import QtQuick.Controls
Types QML
Type de base abstrait offrant des fonctionnalités communes aux boutons | |
Action abstraite de l'interface utilisateur | |
Regroupe les actions | |
Fenêtre de premier niveau stylisée avec prise en charge d'un en-tête et d'un pied de page | |
Indique une activité en arrière-plan, par exemple pendant le chargement du contenu. | |
Bouton poussoir sur lequel on peut cliquer pour exécuter une commande ou répondre à une question | |
Groupe de boutons à cocher s'excluant mutuellement | |
Un espace de noms de calendrier | |
Un modèle de calendrier | |
Bouton de vérification qui peut être activé ou désactivé | |
Délégué d'élément avec un indicateur de vérification qui peut être activé ou désactivé | |
Bouton et liste déroulante combinés pour la sélection d'options | |
Type de base abstrait offrant des fonctionnalités communes aux conteneurs | |
Le type attaché permet d'ouvrir un menu contextuel d'une manière adaptée à la plate-forme. | |
Type de base abstrait offrant des fonctionnalités communes à tous les contrôles | |
Une rangée de noms pour les jours de la semaine | |
Bouton de contrôle qui se déclenche lorsqu'il est maintenu enfoncé suffisamment longtemps | |
Cadran circulaire que l'on fait tourner pour définir une valeur | |
Boîte de dialogue contextuelle avec des boutons standard et un titre, utilisée pour une interaction de courte durée avec l'utilisateur | |
Boîte à boutons utilisée dans les boîtes de dialogue | |
Permet à l'utilisateur de choisir parmi un ensemble de valeurs à virgule flottante prédéfinies. | |
Panneau latéral qui peut être ouvert et fermé par 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 un TableView | |
Délégué d'élément de base pouvant être utilisé dans diverses vues et contrôles | |
Étiquette de texte stylisée avec police héritée | |
Popup pouvant être utilisé comme menu contextuel ou menu contextuel | |
Fournit une barre de menu de fenêtre | |
Présente un menu déroulant dans une barre de menu | |
Présente un élément dans un menu | |
Sépare un groupe d'éléments d'un menu des éléments adjacents | |
Une grille de jours pour un mois calendaire | |
Une fenêtre superposée pour les fenêtres contextuelles | |
Contrôle de page stylisé avec prise en charge d'un en-tête et d'un pied de page | |
Indique la page active | |
Fournit un arrière-plan correspondant au style et au thème de l'application | |
Type de base des contrôles d'interface utilisateur de type popup | |
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 radio qui peut être activé ou désactivé | |
Utilisé pour sélectionner une plage de valeurs en faisant glisser deux poignées le long d'une piste | |
Bouton-poussoir à 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éfilante | |
Champ de saisie spécialisé conçu pour être utilisé dans le cadre d'une fonction de recherche | |
Utilisé pour sélectionner les cellules d'un tableau à l'intérieur d'un TableView | |
Utilisé pour sélectionner une valeur en faisant glisser une poignée le long d'une piste | |
Permet à l'utilisateur de sélectionner une valeur à partir d'un ensemble de valeurs prédéfinies | |
Fournit des propriétés attachées pour les poignées SplitView | |
Dispose des éléments avec un séparateur glissant entre chaque élément | |
Fournit un modèle de navigation basé sur une pile | |
Délégué d'élément glissant | |
Permet à l'utilisateur de naviguer dans les pages en glissant latéralement. | |
Bouton pouvant être activé ou désactivé | |
Délégué d'élément avec un indicateur de commutation qui peut être activé ou désactivé | |
Permet à l'utilisateur de passer d'une vue à l'autre ou d'une sous-tâche à l'autre | |
Bouton dont l'aspect convient à une barre d'onglets | |
Délégué pouvant être affecté à un TableView | |
Zone de saisie de texte sur plusieurs lignes | |
Zone de saisie de texte sur une seule ligne | |
Conteneur pour les contrôles contextuels | |
Bouton dont l'aspect convient à une barre d'outils | |
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 | |
Délégué pouvant être affecté à un TreeView | |
Roue tournante d'éléments pouvant être sélectionnés | |
Offre une vue d'en-tête verticale pour accompagner un TableView | |
Une colonne de numéros de semaine |
Utilisation des types de contrôles Qt Quick dans les déclarations de propriétés
Comme indiqué dans Qt Quick Templates 2 QML Typeschaque type de Qt Quick Controls est soutenu par un type "modèle" C++. Ces types sont 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 Qt Quick Templates. Chaque style qui souhaite fournir un menu doit disposer d'un fichier Menu.qml, et l'élément racine de ce fichier doit être le menu de Qt Quick Templates. Lorsque vous importez QtQuick.Controls et que vous créez un menu en QML, le type que vous obtenez est en fait le 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 dans les modèles Qt Quick. Par exemple, supposons que vous ayez un composant PopupOpener, qui est 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_QMLTYPE
Cela est dû à la hiérarchie de l'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)Dialog from QtQuick.Controls ne dérive pas de Popup from QtQuick.Controls, mais de QtQuick.Templates.
Utilisez plutôt le modèle Popup 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, voir la documentation du module Qt Quick Controls.
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.