Auf dieser Seite

MessageDialog QML Type

Ein Meldungsdialog. Mehr...

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

Dialog

Eigenschaften

Signale

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

Ausführliche Beschreibung

Der Typ „MessageDialog“ stellt eine QML-API für Meldungsdialoge bereit.

Der Meldungsdialog informiert den Benutzer über bestimmte Informationen und wird geschlossen, sobald der Benutzer den Dialog bestätigt.

Ein Meldungsdialog dient dazu, den Benutzer zu informieren oder ihm eine Frage zu stellen. Ein Meldungsdialog zeigt ein primäres „ text “ an, um den Benutzer auf eine Situation aufmerksam zu machen, ein „ informative text “, um die Warnung näher zu erläutern oder dem Benutzer eine Frage zu stellen, sowie ein optionales „ detailed text “, um auf Wunsch des Benutzers weitere Daten bereitzustellen. Ein Meldungsdialog kann außerdem eine konfigurierbare Reihe von „ buttons “ anzeigen, um eine Antwort des Benutzers entgegenzunehmen.

Um ein Meldungsdialogfeld anzuzeigen, erstellen Sie eine Instanz von `MessageDialog`, legen Sie die gewünschten Eigenschaften fest und rufen Sie ` open()` auf.

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

Der Benutzer muss auf die Schaltfläche „ OK “ klicken, um den Meldungsdialog zu schließen.

Ein ausgefeilterer Ansatz als die bloße Benachrichtigung des Benutzers über ein Ereignis besteht darin, den Benutzer auch zu fragen, wie damit verfahren werden soll. Speichern Sie die Frage in der Eigenschaft „ informative text “ und legen Sie die Eigenschaft „ buttons “ auf die Gruppe von Schaltflächen fest, die Sie als Auswahlmöglichkeiten für die Benutzerantworten wünschen. Die Schaltflächen werden durch die Kombination von Werten mithilfe des bitweisen ODER-Operators festgelegt.

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

    onAccepted: document.save()
}

Der Meldungsdialog ermöglicht es dem Benutzer, anhand der Meldung eine Auswahl zu treffen, und führt anschließend die entsprechende Aktion entsprechend der Eigenschaft „buttons“ aus.

Verfügbarkeit

Ein nativer Plattform-Meldungsdialog ist derzeit auf den folgenden Plattformen verfügbar:

  • Android
  • iOS
  • macOS

Qt Quick Dialogs verwendet auf Plattformen, auf denen keine native Implementierung verfügbar ist, eine „ Qt Quick “-Implementierung als Fallback.

Dokumentation zu Eigenschaften

buttons : flags

Diese Eigenschaft enthält eine Kombination von Schaltflächen, die vom Meldungsdialogfeld verwendet werden. Der Standardwert lautet „ MessageDialog.NoButton “.

Mögliche Flags:

KonstanteBeschreibung
MessageDialog.OkEine „OK“-Schaltfläche, die mit „ AcceptRole “ definiert ist.
MessageDialog.OpenEine „Öffnen“-Schaltfläche, die mit der Eigenschaft „ AcceptRole “ definiert ist.
MessageDialog.SaveEine Schaltfläche „Speichern“, die mit der Funktion „ AcceptRole “ definiert wurde.
MessageDialog.CancelEine Schaltfläche „Abbrechen“, definiert mit der Funktion „ RejectRole “.
MessageDialog.CloseEine Schaltfläche „Schließen“, definiert mit dem RejectRole.
MessageDialog.DiscardEine Schaltfläche „Verwerfen“ oder „Nicht speichern“ (je nach Plattform), definiert mit dem DestructiveRole.
MessageDialog.ApplyEine Schaltfläche „Übernehmen“, definiert mit dem Befehl ` ApplyRole`.
MessageDialog.ResetEine Schaltfläche „Zurücksetzen“, definiert mit dem Befehl ` ResetRole`.
MessageDialog.RestoreDefaultsEine Schaltfläche „Standardeinstellungen wiederherstellen“, definiert mit dem Befehl ` ResetRole`.
MessageDialog.HelpEine Schaltfläche „Hilfe“, definiert mit dem „ HelpRole “.
MessageDialog.SaveAllEine Schaltfläche „Alle speichern“, definiert mit dem „ AcceptRole “.
MessageDialog.YesEine Schaltfläche „Ja“, definiert mit dem „ YesRole “.
MessageDialog.YesToAllEine Schaltfläche „Ja zu allen“, definiert mit dem YesRole.
MessageDialog.NoEine Schaltfläche „Nein“, definiert mit dem NoRole.
MessageDialog.NoToAllEine Schaltfläche „Nein zu allen“, definiert mit dem Attribut „ NoRole “.
MessageDialog.AbortEine Schaltfläche „Abbrechen“, definiert mit der Eigenschaft „ RejectRole “.
MessageDialog.RetryEine Schaltfläche „Erneut versuchen“, definiert mit dem AcceptRole.
MessageDialog.IgnoreEine Schaltfläche „Ignorieren“, definiert mit der Funktion ` AcceptRole`.
MessageDialog.NoButtonDas Dialogfeld enthält keine Schaltflächen.

Siehe auch ` buttonClicked()`.

detailedText : string

Diese Eigenschaft enthält den Text, der im Detailbereich angezeigt werden soll.

Siehe auch text und informativeText.

informativeText : string

Diese Eigenschaft enthält den informativen Text, der eine ausführlichere Beschreibung der Meldung liefert.

Der informativen Text kann verwendet werden, um den „ text “ zu ergänzen und dem Benutzer weitere Informationen zu liefern.

Siehe auch „ text “ und „ detailedText “.

text : string

Diese Eigenschaft enthält den Text, der im Meldungsdialogfeld angezeigt werden soll.

Siehe auch informativeText und detailedText.

Signal-Dokumentation

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

Dieses Signal wird ausgelöst, wenn auf eine Schaltfläche „ button “ mit dem angegebenen „ role “ geklickt wird.

Indem Sie diesem Signal einen Handler zuweisen, können Sie auf das Drücken beliebiger benutzerdefinierter Schaltflächen reagieren. Das Argument ` button ` gibt an, welche Schaltfläche angeklickt wurde, während das Argument ` role ` die funktionale Rolle dieser Schaltfläche angibt.

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;
        }
    }
}

Hinweis: Der entsprechende Handler lautet „ onButtonClicked “.

Siehe auch „ 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.