このページでは

MessageDialog QML Type

メッセージダイアログ。詳細...

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

Dialog

プロパティ

信号

  • 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()
}

メッセージダイアログでは、ユーザーはメッセージに基づいて選択を行うことができ、buttonsプロパティに基づいて関連するアクションが実行されます。

利用可能プラットフォーム

ネイティブのプラットフォームメッセージダイアログは、現在以下のプラットフォームで利用可能です:

  • Android
  • iOS
  • macOS

Qt Quick Dialogsでは、ネイティブの実装が利用できないプラットフォームにおいて、フォールバックとしてQt Quick の実装を使用します。

プロパティのドキュメント

buttons : flags

このプロパティには、メッセージダイアログで使用されるボタンの組み合わせが格納されます。デフォルト値は `MessageDialog.NoButton` です。

使用可能なフラグ:

定数説明
MessageDialog.OkAcceptRole で定義された「OK」ボタン。
MessageDialog.OpenAcceptRole で定義された「開く」ボタン。
MessageDialog.SaveAcceptRole で定義された「Save」ボタン。
MessageDialog.CancelRejectRole で定義された「Cancel」ボタン。
MessageDialog.CloseRejectRole で定義された「閉じる」ボタン。
MessageDialog.Discardプラットフォームに応じて、「破棄」または「保存しない」ボタン。DestructiveRole で定義されます。
MessageDialog.ApplyApplyRole で定義された「適用」ボタン。
MessageDialog.ResetResetRole で定義された「リセット」ボタン。
MessageDialog.RestoreDefaultsResetRole で定義された「デフォルトに戻す」ボタン。
MessageDialog.HelpHelpRole で定義された「ヘルプ」ボタン。
MessageDialog.SaveAllAcceptRole で定義された「すべて保存」ボタン。
MessageDialog.YesYesRole で定義された「はい」ボタン。
MessageDialog.YesToAllYesRole で定義された「すべてに『はい』」ボタン。
MessageDialog.NoNoRole で定義された「No」ボタン。
MessageDialog.NoToAllNoRole で定義された「すべてに『いいえ』」ボタン。
MessageDialog.AbortRejectRole で定義された「中止」ボタン。
MessageDialog.RetryAcceptRole で定義された「再試行」ボタン。
MessageDialog.IgnoreAcceptRole で定義された「無視」ボタン。
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.