MessageDialog QML Type

Ein nativer Nachrichtendialog. Mehr...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Eigenschaften

Signale

Detaillierte Beschreibung

Der MessageDialog-Typ bietet eine QML-API für plattformeigene Nachrichtendialoge.

Ein Nachrichtendialog wird verwendet, um 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, und ein optionales detailed text, um noch mehr Daten bereitzustellen, wenn der Benutzer dies wünscht. Ein Meldungsfenster kann auch einen konfigurierbaren Satz von buttons anzeigen, um eine Benutzerantwort zu akzeptieren.

Um einen Nachrichtendialog anzuzeigen, konstruieren Sie eine Instanz von MessageDialog, stellen die gewünschten Eigenschaften ein und rufen open() auf.

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

Der Benutzer muss auf die Schaltfläche OK klicken, um den Nachrichtendialog zu schließen. Ein modaler Nachrichtendialog blockiert den Rest der GUI, bis die Nachricht beendet wird.

Ein aufwändigerer Ansatz als die bloße Benachrichtigung des Benutzers über ein Ereignis besteht darin, den Benutzer auch zu fragen, was er tun soll. Speichern Sie die Frage in der Eigenschaft informative text und geben Sie in der Eigenschaft buttons den Satz von Schaltflächen an, den Sie als Antwort des Benutzers wünschen. Die Schaltflächen werden durch die Kombination von Werten mit dem bitweisen OR-Operator festgelegt. Die Anzeigereihenfolge für die Schaltflächen ist plattformabhängig.

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

    onAccepted: document.save()
}

Das Signal clicked() übergibt die Information, welche Schaltfläche angeklickt wurde.

Ein plattformeigener Nachrichtendialog ist derzeit auf den folgenden Plattformen verfügbar:

  • Android
  • iOS
  • macOS

Das Qt Labs Platform Modul verwendet Qt Widgets als Fallback auf Plattformen, für die keine native Implementierung verfügbar ist. Daher sollten Anwendungen, die Typen aus dem Qt Labs Platform Modul verwenden, mit QtWidgets verknüpft werden und QApplication anstelle von QGuiApplication verwenden.

Um gegen die QtWidgets-Bibliothek zu linken, fügen Sie das Folgende zu Ihrer qmake-Projektdatei hinzu:

QT += widgets

Erstellen Sie eine Instanz von QApplication in main():

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

Hinweis: Es ist nicht garantiert, dass Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.

Eigenschaft Dokumentation

buttons : flags

Diese Eigenschaft enthält eine Kombination von Schaltflächen, die vom Meldungsdialog verwendet werden. Der Standardwert ist MessageDialog.NoButton.

Mögliche Flags:

KonstanteBeschreibung
MessageDialog.OkEine "OK"-Schaltfläche, die mit der AcceptRole definiert ist.
MessageDialog.OpenEine "Öffnen"-Schaltfläche, die mit der AcceptRole definiert ist.
MessageDialog.SaveEine "Speichern"-Schaltfläche, die mit der AcceptRole definiert wurde.
MessageDialog.CancelEine "Abbrechen"-Schaltfläche, die mit der RejectRole definiert wird.
MessageDialog.CloseEine "Schließen"-Schaltfläche, die mit der RejectRole definiert wird.
MessageDialog.DiscardEine Schaltfläche "Verwerfen" oder "Nicht speichern", je nach Plattform, die mit DestructiveRole definiert wird.
MessageDialog.ApplyEine "Anwenden"-Schaltfläche, die mit der ApplyRole definiert wird.
MessageDialog.ResetEine "Zurücksetzen"-Schaltfläche, die mit der ResetRole definiert wird.
MessageDialog.RestoreDefaultsEine Schaltfläche "Standardeinstellungen wiederherstellen", die mit ResetRole definiert wird.
MessageDialog.HelpEine "Hilfe"-Schaltfläche, die mit HelpRole definiert wurde.
MessageDialog.SaveAllEine Schaltfläche "Alles speichern", definiert mit AcceptRole.
MessageDialog.YesEine "Ja"-Schaltfläche, die mit YesRole definiert wurde.
MessageDialog.YesToAllEine "Ja zu allen"-Schaltfläche, die mit YesRole definiert wurde.
MessageDialog.NoEine "Nein"-Schaltfläche, die mit der NoRole definiert wird.
MessageDialog.NoToAllEine "Nein zu allen"-Schaltfläche, die mit der NoRole definiert wird.
MessageDialog.AbortEine "Abbrechen"-Schaltfläche, die mit der RejectRole definiert wird.
MessageDialog.RetryEine "Wiederholen"-Schaltfläche, die mit der AcceptRole definiert wird.
MessageDialog.IgnoreEine "Ignorieren"-Schaltfläche, die mit der AcceptRole definiert wurde.
MessageDialog.NoButtonDer Dialog hat keine Schaltflächen.

Siehe auch clicked().


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 Nachricht liefert.

Informativer Text kann verwendet werden, um die text zu erweitern und dem Benutzer weitere Informationen zu geben.

Siehe auch text und detailedText.


text : string

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

Siehe auch informativeText und detailedText.


Signal Dokumentation

abortClicked()

Dieses Signal wird ausgegeben, wenn Abort angeklickt wird.

Hinweis: Der entsprechende Handler ist onAbortClicked.


applyClicked()

Dieses Signal wird ausgegeben, wenn Apply angeklickt wird.

Hinweis: Der entsprechende Handler ist onApplyClicked.


cancelClicked()

Dieses Signal wird ausgegeben, wenn Cancel angeklickt wird.

Hinweis: Der entsprechende Handler ist onCancelClicked.


clicked(button)

Dieses Signal wird ausgegeben, wenn ein Dialog button angeklickt wird.

Hinweis: Der entsprechende Handler ist onClicked.

Siehe auch buttons.


closeClicked()

Dieses Signal wird ausgegeben, wenn Close angeklickt wird.

Hinweis: Der entsprechende Handler ist onCloseClicked.


discardClicked()

Dieses Signal wird ausgegeben, wenn Discard angeklickt wird.

Hinweis: Der entsprechende Handler ist onDiscardClicked.


helpClicked()

Dieses Signal wird ausgegeben, wenn Help angeklickt wird.

Hinweis: Der entsprechende Handler ist onHelpClicked.


ignoreClicked()

Dieses Signal wird ausgegeben, wenn Ignore angeklickt wird.

Hinweis: Der entsprechende Handler ist onIgnoreClicked.


noClicked()

Dieses Signal wird ausgegeben, wenn No angeklickt wird.

Hinweis: Der entsprechende Handler ist onNoClicked.


noToAllClicked()

Dieses Signal wird ausgegeben, wenn No To All angeklickt wird.

Hinweis: Der entsprechende Handler ist onNoToAllClicked.


okClicked()

Dieses Signal wird ausgegeben, wenn Ok angeklickt wird.

Hinweis: Der entsprechende Handler ist onOkClicked.


openClicked()

Dieses Signal wird ausgegeben, wenn Open angeklickt wird.

Hinweis: Der entsprechende Handler ist onOpenClicked.


resetClicked()

Dieses Signal wird ausgegeben, wenn Reset angeklickt wird.

Hinweis: Der entsprechende Handler ist onResetClicked.


restoreDefaultsClicked()

Dieses Signal wird ausgegeben, wenn Restore Defaults angeklickt wird.

Hinweis: Der entsprechende Handler ist onRestoreDefaultsClicked.


retryClicked()

Dieses Signal wird ausgegeben, wenn Retry angeklickt wird.

Hinweis: Der entsprechende Handler ist onRetryClicked.


saveAllClicked()

Dieses Signal wird ausgegeben, wenn Save All angeklickt wird.

Hinweis: Der entsprechende Handler ist onSaveAllClicked.


saveClicked()

Dieses Signal wird ausgegeben, wenn Save angeklickt wird.

Hinweis: Der entsprechende Handler ist onSaveClicked.


yesClicked()

Dieses Signal wird ausgegeben, wenn Yes angeklickt wird.

Hinweis: Der entsprechende Handler ist onYesClicked.


yesToAllClicked()

Dieses Signal wird ausgegeben, wenn Yes To All angeklickt wird.

Hinweis: Der entsprechende Handler ist onYesToAllClicked.


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