MessageDialog QML Type
メッセージダイアログ。詳細...
| Import Statement: | import QtQuick.Dialogs |
| Since: | Qt 6.3 |
| Inherits: |
プロパティ
- buttons : flags
- detailedText : string
- informativeText : string
- text : string
信号
- buttonClicked(QPlatformDialogHelper::StandardButton button, QPlatformDialogHelper::ButtonRole role)
詳細な説明
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()
}
利用可能プラットフォーム
ネイティブのプラットフォームメッセージダイアログは、現在以下のプラットフォームで利用可能です:
- Android
- iOS
- macOS
Qt Quick Dialogsでは、ネイティブの実装が利用できないプラットフォームにおいて、フォールバックとしてQt Quick の実装を使用します。
プロパティのドキュメント
buttons : flags
このプロパティには、メッセージダイアログで使用されるボタンの組み合わせが格納されます。デフォルト値は `MessageDialog.NoButton` です。
使用可能なフラグ:
| 定数 | 説明 |
|---|---|
MessageDialog.Ok | AcceptRole で定義された「OK」ボタン。 |
MessageDialog.Open | AcceptRole で定義された「開く」ボタン。 |
MessageDialog.Save | AcceptRole で定義された「Save」ボタン。 |
MessageDialog.Cancel | RejectRole で定義された「Cancel」ボタン。 |
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 で定義された「No」ボタン。 |
MessageDialog.NoToAll | NoRole で定義された「すべてに『いいえ』」ボタン。 |
MessageDialog.Abort | RejectRole で定義された「中止」ボタン。 |
MessageDialog.Retry | AcceptRole で定義された「再試行」ボタン。 |
MessageDialog.Ignore | AcceptRole で定義された「無視」ボタン。 |
MessageDialog.NoButton | このダイアログにはボタンがありません。 |
buttonClicked()も参照してください 。
detailedText : string
このプロパティには、詳細エリアに表示されるテキストが格納されます。
「 text 」および「informativeText 」も参照してください 。
informativeText : string
このプロパティには、メッセージについてより詳しい説明を提供する説明文が格納されます。
説明文は、text を補足して、ユーザーにより多くの情報を提供するために使用できます。
「 text 」および「detailedText 」も参照してください 。
text : string
このプロパティには、メッセージダイアログに表示されるテキストが格納されます。
informativeText およびdetailedTextも参照してください 。
シグナルのドキュメント
buttonClicked(QPlatformDialogHelper::StandardButton button, QPlatformDialogHelper::ButtonRole role)
このシグナルは、指定されたrole を持つbutton がクリックされたときに発生します。
このシグナルにハンドラを指定することで、任意のカスタムボタンが押された際に反応させることができます。button 引数はどのボタンがクリックされたかを示し、role 引数はそのボタンの機能的な役割を示します。
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;
}
}
}注: 対応するハンドラは onButtonClicked です。
「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.