4. Boîtes de dialogue
Un autre besoin courant dans une application est d'afficher de petites boîtes de
dialogue : sélectionner un fichier à ouvrir, préciser un endroit où enregistrer un fichier,
choisir une police, poser une question à l'utilisateur, etc. Qt Quick propose toutes ces
fonctionnalités dans le module QtQuick.Dialogs. Ce module a l'avantage de s'adapter
directement à la plateforme : les boutons affichés sont toujours au bon endroit dans la
boîte de dialogue, dans le bon ordre, avec le bon texte dans la langue de l'utilisateur.
Par exemple, pour quitter un document sans sauvegarder, macOS affichera Ne pas
enregistrer, GNOME Fermer sans enregistrer, les autres Abandonner — le tout,
automatiquement !
Boîte standard
La boîte de base correspond au composant MessageDialog. Par défaut, elle
n'affiche qu'un seul bouton : OK. La liste se contrôle par la propriété
standardButtons, qui prend une combinaison de valeurs donnée dans la
documentation. Chacun de ces boutons a un rôle particulier : par exemple, un
bouton Oui correspond au rôle YesRole, OK à AcceptRole. Ces rôles définissent
les signaux (et donc les gestionnaires de signal) pour répondre aux clics : onYes
pour le rôle YesRole.
Enfin, la propriété icon demande d'afficher une icône : un point d'interrogation
pour marquer une question (StandardIcon.Question) ou divers degrés
d'information, du plus faible (StandardIcon.Information) au plus critique
(StandardIcon.Critical) en passant par l'avertissement
(StandardIcon.Warning).
MessageDialog {
id: dialog
standardButtons: StandardButton.Ok | StandardButton.Yes |
StandardButton.No | StandardButton.Abort
title: "Question importante"
text: "Cette boîte de dialogue est-elle utile ?"
icon: StandardIcon.Question
onYes: console.log("Oui")
onNo: console.log("Non")
onAccepted: console.log("OK")
onRejected: console.log("Annuler")
}
322
Un autre besoin courant dans une application est d'afficher de petites boîtes de
dialogue : sélectionner un fichier à ouvrir, préciser un endroit où enregistrer un fichier,
choisir une police, poser une question à l'utilisateur, etc. Qt Quick propose toutes ces
fonctionnalités dans le module QtQuick.Dialogs. Ce module a l'avantage de s'adapter
directement à la plateforme : les boutons affichés sont toujours au bon endroit dans la
boîte de dialogue, dans le bon ordre, avec le bon texte dans la langue de l'utilisateur.
Par exemple, pour quitter un document sans sauvegarder, macOS affichera Ne pas
enregistrer, GNOME Fermer sans enregistrer, les autres Abandonner — le tout,
automatiquement !
Boîte standard
La boîte de base correspond au composant MessageDialog. Par défaut, elle
n'affiche qu'un seul bouton : OK. La liste se contrôle par la propriété
standardButtons, qui prend une combinaison de valeurs donnée dans la
documentation. Chacun de ces boutons a un rôle particulier : par exemple, un
bouton Oui correspond au rôle YesRole, OK à AcceptRole. Ces rôles définissent
les signaux (et donc les gestionnaires de signal) pour répondre aux clics : onYes
pour le rôle YesRole.
Enfin, la propriété icon demande d'afficher une icône : un point d'interrogation
pour marquer une question (StandardIcon.Question) ou divers degrés
d'information, du plus faible (StandardIcon.Information) au plus critique
(StandardIcon.Critical) en passant par l'avertissement
(StandardIcon.Warning).
MessageDialog {
id: dialog
standardButtons: StandardButton.Ok | StandardButton.Yes |
StandardButton.No | StandardButton.Abort
title: "Question importante"
text: "Cette boîte de dialogue est-elle utile ?"
icon: StandardIcon.Question
onYes: console.log("Oui")
onNo: console.log("Non")
onAccepted: console.log("OK")
onRejected: console.log("Annuler")
}
322
