Sur cette page

MessageDialog QML Type

Une boîte de dialogue de message. En savoir plus...

Import Statement: import QtQuick.Dialogs
Since: Qt 6.3
Inherits:

Dialog

Propriétés

Signaux

  • buttonClicked(QPlatformDialogHelper::StandardButton button, QPlatformDialogHelper::ButtonRole role)

Description détaillée

Le type MessageDialog fournit une API QML pour les boîtes de dialogue de message.

La boîte de dialogue de message fournit certaines informations à l'utilisateur et se fermera lorsque celui-ci aura pris connaissance de son contenu.

Une boîte de dialogue de message sert à informer l'utilisateur ou à lui poser une question. Une boîte de dialogue de message affiche une « text » principale pour alerter l’utilisateur d’une situation, une « informative text » pour expliquer plus en détail l’alerte ou pour poser une question à l’utilisateur, et une « detailed text » facultative pour fournir encore plus d’informations si l’utilisateur le demande. Une boîte de message peut également afficher un ensemble configurable d’« buttons » pour accepter la réponse de l’utilisateur.

Pour afficher une boîte de dialogue de message, créez une instance de MessageDialog, définissez les propriétés souhaitées, puis appelez la méthode open().

MessageDialog {
    buttons: MessageDialog.Ok
    text: "The document has been modified."
}

L’utilisateur doit cliquer sur le bouton « OK » pour fermer la boîte de dialogue.

Une approche plus élaborée que le simple fait d’alerter l’utilisateur d’un événement consiste à lui demander également quelle action entreprendre. Enregistrez la question dans la propriété ` informative text `, puis définissez la propriété ` buttons ` sur l’ensemble de boutons que vous souhaitez proposer comme réponses possibles. Les boutons sont spécifiés en combinant des valeurs à l’aide de l’opérateur OR binaire.

MessageDialog {
    text: "The document has been modified."
    informativeText: "Do you want to save your changes?"
    buttons: MessageDialog.Ok | MessageDialog.Cancel

    onAccepted: document.save()
}

La boîte de dialogue de message permet à l'utilisateur de faire un choix en fonction du message et effectuera l'action associée en fonction de la propriété « buttons ».

Disponibilité

Une boîte de dialogue de message native est actuellement disponible sur les plateformes suivantes :

  • Android
  • iOS
  • macOS

Qt Quick Dialogs utilise une implémentation de type « Qt Quick » comme solution de secours sur les plateformes ne disposant pas d’une implémentation native.

Documentation sur les propriétés

buttons : flags

Cette propriété contient un ensemble de boutons utilisés par la boîte de dialogue de message. La valeur par défaut est « MessageDialog.NoButton ».

Indicateurs possibles :

ConstanteDescription
MessageDialog.OkUn bouton « OK » défini avec la valeur AcceptRole.
MessageDialog.OpenUn bouton « Ouvrir » défini avec l'AcceptRole.
MessageDialog.SaveUn bouton « Enregistrer » défini à l'aide de l'AcceptRole.
MessageDialog.CancelUn bouton « Annuler » défini à l'aide de l'RejectRole.
MessageDialog.CloseUn bouton « Fermer » défini à l'aide de l'RejectRole.
MessageDialog.DiscardUn bouton « Ignorer » ou « Ne pas enregistrer », selon la plateforme, défini à l’aide de la méthode DestructiveRole.
MessageDialog.ApplyUn bouton « Appliquer » défini à l’aide de l’ ApplyRole.
MessageDialog.ResetUn bouton « Réinitialiser » défini à l’aide de la balise ResetRole.
MessageDialog.RestoreDefaultsUn bouton « Restaurer les valeurs par défaut » défini à l’aide de la balise ResetRole.
MessageDialog.HelpUn bouton « Aide » défini avec l’ HelpRole.
MessageDialog.SaveAllUn bouton « Tout enregistrer » défini à l'aide de la commande AcceptRole.
MessageDialog.YesUn bouton « Oui » défini à l'aide de la méthode YesRole.
MessageDialog.YesToAllUn bouton « Oui à tout » défini avec l’ YesRole.
MessageDialog.NoUn bouton « Non » défini à l'aide de l'NoRole.
MessageDialog.NoToAllUn bouton « Non à tout » défini avec l'NoRole.
MessageDialog.AbortUn bouton « Abandonner » défini à l'aide de la fonction ` RejectRole`.
MessageDialog.RetryUn bouton « Réessayer » défini à l'aide de l'AcceptRole.
MessageDialog.IgnoreUn bouton « Ignorer » défini à l'aide de la fonction AcceptRole.
MessageDialog.NoButtonLa boîte de dialogue ne comporte aucun bouton.

Voir aussi buttonClicked().

detailedText : string

Cette propriété contient le texte à afficher dans la zone de détails.

Voir également text et informativeText.

informativeText : string

Cette propriété contient le texte explicatif qui fournit une description plus détaillée du message.

Le texte explicatif peut être utilisé pour compléter l'text s et fournir davantage d'informations à l'utilisateur.

Voir également « text » et « detailedText ».

text : string

Cette propriété contient le texte à afficher dans la boîte de dialogue de message.

Voir également informativeText et detailedText.

Documentation sur les signaux

buttonClicked(QPlatformDialogHelper::StandardButton button, QPlatformDialogHelper::ButtonRole role)

Ce signal est émis lorsqu'on clique sur un élément « button » dont l'role est celle spécifiée.

En associant un gestionnaire à ce signal, vous pouvez réagir à l’activation de n’importe quel bouton personnalisé. L’argument button indique quel bouton a été cliqué, tandis que l’argument role précise le rôle fonctionnel de ce bouton.

MessageDialog {
    id: dialog
    text: qsTr("The document has been modified.")
    informativeText: qsTr("Do you want to save your changes?")
    buttons: MessageDialog.Ok | MessageDialog.Cancel
    onButtonClicked: function (button, role) {
        switch (button) {
        case MessageDialog.Ok:
            document.save()
            break;
        }
    }
}

Remarque : le gestionnaire correspondant est onButtonClicked.

Voir également buttons.

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