MessageDialog QML Type
本地消息对话框。更多
Import Statement: | import Qt.labs.platform |
Inherits: | |
Status: | Deprecated since 6.9 |
自 Qt.labs.platform 6.9 起,该类型已被弃用。我们强烈建议不要在新代码中使用它。
属性
- buttons : flags
- detailedText : string
- informativeText : string
- text : string
信号
- abortClicked()
- applyClicked()
- cancelClicked()
- clicked(button)
- closeClicked()
- discardClicked()
- helpClicked()
- ignoreClicked()
- noClicked()
- noToAllClicked()
- okClicked()
- openClicked()
- resetClicked()
- restoreDefaultsClicked()
- retryClicked()
- saveAllClicked()
- saveClicked()
- yesClicked()
- yesToAllClicked()
详细说明
使用QtQuick.Dialogs::MessageDialog 代替。
MessageDialog 类型为本地平台消息对话框提供了 QML API。
消息对话框用于通知用户或向用户提问。消息对话框会显示一个主要的text 来提醒用户注意某种情况,一个informative text 来进一步解释该提醒或向用户提问,以及一个可选的detailed text 来在用户要求时提供更多数据。消息框还可以显示一组可配置的buttons ,用于接受用户回复。
要显示消息对话框,请构建 MessageDialog 的实例,设置所需的属性,然后调用open() 。
MessageDialog { buttons: MessageDialog.Ok text: "The document has been modified." }
用户必须单击OK 按钮才能解除消息对话框。模态消息对话框会阻止图形用户界面的其他部分,直到消息被取消。
除了提醒用户注意事件外,一种更复杂的方法是询问用户如何处理该事件。将问题存储在informative text 属性中,并在buttons 属性中指定一组按钮作为用户响应。这些按钮是通过使用位顺时针 OR 运算符组合值来指定的。按钮的显示顺序取决于平台。
MessageDialog { text: "The document has been modified." informativeText: "Do you want to save your changes?" buttons: MessageDialog.Ok | MessageDialog.Cancel onAccepted: document.save() }
clicked() 信号会传递哪个按钮被点击的信息。
本机平台消息对话框目前在以下平台上可用:
- 安卓
- iOS
- macOS
在没有本地实现的平台上,Qt Labs Platform 模块使用Qt Widgets 作为后备。因此,使用Qt Labs Platform 模块中类型的应用程序应链接到 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 模块中的类型不保证在未来版本中保持兼容。
另请参阅 QtQuick.Dialogs::MessageDialog 。
属性文档
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 |
该属性包含要在详细信息区域显示的文本。
另请参阅 text 和informativeText 。
informativeText : string |
text : string |
该属性包含要在消息对话框中显示的文本。
另请参阅 informativeText 和detailedText 。
信号文档
abortClicked() |
点击Abort 时发出该信号。
注: 相应的处理程序是onAbortClicked
。
applyClicked() |
点击Apply 时发出此信号。
注: 相应的处理程序是onApplyClicked
。
cancelClicked() |
点击Cancel 时发出此信号。
注: 相应的处理程序是onCancelClicked
。
clicked(button) |
closeClicked() |
点击Close 时会发出该信号。
注: 相应的处理程序是onCloseClicked
。
discardClicked() |
点击Discard 时会发出该信号。
注: 相应的处理程序是onDiscardClicked
。
helpClicked() |
点击Help 时,发出此信号。
注: 相应的处理程序是onHelpClicked
。
ignoreClicked() |
点击Ignore 时,发出此信号。
注: 相应的处理程序是onIgnoreClicked
。
noClicked() |
点击No 时,发出此信号。
注: 相应的处理程序是onNoClicked
。
noToAllClicked() |
点击No To All 时,发出此信号。
注: 相应的处理程序是onNoToAllClicked
。
okClicked() |
点击Ok 时,发出此信号。
注: 相应的处理程序是onOkClicked
。
openClicked() |
点击Open 时,发出此信号。
注: 相应的处理程序是onOpenClicked
。
resetClicked() |
点击Reset 时,发出此信号。
注: 相应的处理程序是onResetClicked
。
restoreDefaultsClicked() |
点击Restore Defaults 时,发出此信号。
注: 相应的处理程序是onRestoreDefaultsClicked
。
retryClicked() |
点击Retry 时,发出此信号。
注: 相应的处理程序是onRetryClicked
。
saveAllClicked() |
点击Save All 时,发出此信号。
注: 相应的处理程序是onSaveAllClicked
。
saveClicked() |
点击Save 时,发出此信号。
注: 相应的处理程序是onSaveClicked
。
yesClicked() |
点击Yes 时,发出此信号。
注: 相应的处理程序是onYesClicked
。
yesToAllClicked() |
点击Yes To All 时,发出此信号。
注: 相应的处理程序是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.