MessageDialog QML 类型

本地消息对话框。 更多信息...

导入语句import Qt.labs.platform
继承

Dialog

属性

信号

详细描述

MessageDialog 类型提供了原生平台消息对话框的 QML API。

消息对话框用于通知用户或向用户提问。消息对话框显示主要 文本 以提醒用户某种情况,显示 说明性文本 以进一步解释警报或向用户提问,以及可选的 详细文本 以在用户请求时提供更多数据。消息框还可以显示一组可配置的 按钮 以接受用户响应。

要显示消息对话框,构建一个 MessageDialog 实例,设置所需的属性,然后调用 open 方法。

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

用户必须点击 OK 按钮以关闭消息对话框。模态消息对话框会在消息被关闭之前阻止 GUI 的其余部分。

比仅仅通知用户事件更复杂的方法是询问用户如何处理事件。将问题存储在 说明性文本 属性中,并指定 按钮 属性为希望作为用户响应集合的按钮集合。按钮通过使用按位或运算符组合值来指定。按钮的显示顺序取决于平台。

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

    onAccepted: document.save()
}

clicked() 信号传递被点击的按钮信息。

原生平台消息对话框当前在以下平台可用

  • Android
  • iOS
  • macOS

Qt Labs平台模块在平台没有提供原生实现的平台上使用Qt Widgets作为后备方案。因此,使用Qt Labs平台模块的类型的应用程序应链接到QtWidgets,并使用QApplication而不是QGuiApplication

要链接到QtWidgets库,请将以下内容添加到您的qmake项目文件中

QT += widgets

main()中创建QApplication的一个实例

#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();
}

注意:Qt.labs模块中的类型在未来的版本中不保证保持兼容性。

属性文档

buttons : flags

该属性包含消息对话框使用的按钮组合。默认值是MessageDialog.NoButton

可能的标志

常数描述
MessageDialog.Ok一个带有AcceptRole定义的“确定”按钮。
MessageDialog.Open一个带有AcceptRole定义的“打开”按钮。
MessageDialog.Save一个带有AcceptRole定义的“保存”按钮。
MessageDialog.Cancel一个带有RejectRole定义的“取消”按钮。
MessageDialog.Close一个带有RejectRole定义的“关闭”按钮。
MessageDialog.Discard一个“丢弃”或“不保存”按钮,根据平台的不同而定,用DestructiveRole定义。
MessageDialog.Apply一个带有ApplyRole定义的“应用”按钮。
MessageDialog.Reset一个带有ResetRole定义的“重置”按钮。
MessageDialog.RestoreDefaults一个带有ResetRole定义的“恢复默认值”按钮。
MessageDialog.Help一个带有HelpRole定义的“帮助”按钮。
MessageDialog.SaveAll一个带有AcceptRole定义的“全部保存”按钮。
MessageDialog.Yes一个带有YesRole定义的“是”按钮。
MessageDialog.YesToAll一个带有YesRole定义的“全部是”按钮。
MessageDialog.No一个带有NoRole定义的“否”按钮。
MessageDialog.NoToAll一个带有NoRole定义的“全部否”按钮。
MessageDialog.Abort一个带有RejectRole定义的“中止”按钮。
MessageDialog.Retry一个带有AcceptRole定义的“重试”按钮。
MessageDialog.Ignore一个带有AcceptRole定义的“忽略”按钮。
MessageDialog.NoButton该对话框没有按钮。

另请参阅clicked()。


detailedText : string

该属性包含要在详细信息区域显示的文本。

另请参阅textinformativeText


informativeText : string

该属性包含为消息提供更完整描述的说明性文本。

说明性文本可以用来扩展text,向用户提供更多信息。

另请参阅textdetailedText


text : string

该属性包含要在消息对话框上显示的文本。

另请参阅informativeTextdetailedText


信号文档

abortClicked()

当单击中止时,将发出此信号。

注意:对应的处理程序是 onAbortClicked


applyClicked()

当单击应用时,将发出此信号。

注意:对应的处理程序是 onApplyClicked


cancelClicked()

当单击取消时,将发出此信号。

注意:对应的处理程序是 onCancelClicked


clicked(button)

当对话框按钮被单击时,将发出此信号。

注意:对应的处理程序是 onClicked

另请参阅按钮


closeClicked()

当单击关闭时,将发出此信号。

注意:对应的处理程序是 onCloseClicked


discardClicked()

当单击放弃时,将发出此信号。

注意:对应的处理程序是 onDiscardClicked


helpClicked()

当单击帮助时,将发出此信号。

注意:对应的处理程序是 onHelpClicked


ignoreClicked()

当单击忽略时,将发出此信号。

注意:对应的处理程序是 onIgnoreClicked


noClicked()

当单击时,将发出此信号。

注意:对应的处理程序是 onNoClicked


noToAllClicked()

当单击全部否决时,将发出此信号。

注意:对应的处理程序是 onNoToAllClicked


okClicked()

当单击确定时,将发出此信号。

注意:对应的处理程序是 onOkClicked


openClicked()

当单击打开时,将发出此信号。

注意:对应的处理程序是 onOpenClicked


resetClicked()

当单击重置时,将发出此信号。

注意:对应的处理程序是 onResetClicked


restoreDefaultsClicked()

当单击恢复默认值时,将发出此信号。

注意:对应的处理程序是 onRestoreDefaultsClicked


retryClicked()

当单击重试时,将发出此信号。

注意:对应的处理程序是 onRetryClicked


saveAllClicked()

当单击全部保存时,将发出此信号。

注意:对应的处理程序是 onSaveAllClicked


saveClicked()

当单击保存时,将发出此信号。

注意:对应的处理程序是 onSaveClicked


yesClicked()

当单击时,将发出此信号。

注意:对应的处理程序是 onYesClicked


yesToAllClicked()

当单击全部是时,将发出此信号。

注意:对应的处理程序是 onYesToAllClicked


© 2024 Qt公司有限。包含在此处的文档贡献的版权属于其各自的所有者。在此提供的文档是根据自由软件基金会发布的GNU自由文档许可协议第1.3版条款授权的。Qt及其相关商标是芬兰Qt公司及其在全世界其他国家的商标。所有其他商标均为其各自所有者的财产。