DialogButtonBox QML Type
ダイアログで使用されるボタンボックス。詳細...
| Import Statement: | import QtQuick.Controls |
| Inherits: |
プロパティ
- alignment : flags
- buttonLayout : enumeration
(since QtQuick.Controls 2.5 (Qt 5.12)) - defaultButton : AbstractButton
(since 6.11) - defaultStandardButton : enumeration
(since 6.11) - delegate : Component
- position : enumeration
- standardButtons : enumeration
関連するプロパティ
- buttonBox : DialogButtonBox
- buttonRole : enumeration
信号
- accepted()
- applied()
(since QtQuick.Controls 2.3 (Qt 5.10)) - clicked(AbstractButton button)
- discarded()
(since QtQuick.Controls 2.3 (Qt 5.10)) - helpRequested()
- rejected()
- reset()
(since QtQuick.Controls 2.3 (Qt 5.10))
方法
- AbstractButton standardButton(StandardButton button)
詳細説明
ダイアログやメッセージボックスでは、通常、そのプラットフォームのインターフェースガイドラインに準拠した順序でボタンが表示されます。当然ながら、プラットフォームによってダイアログボタンの順序は異なります。DialogButtonBox を使用すると、開発者はボタンを追加するだけで、ユーザーのプラットフォームに適した順序が自動的に適用されます。
ダイアログのボタンのほとんどは、特定の役割を担っています。そのような役割には、次のようなものがあります。
- ダイアログの承認または拒否。
- ヘルプを要求する。
- ダイアログ自体に対する操作の実行(フィールドのリセットや変更の適用など)。
また、ダイアログを閉じる別の方法が存在する場合もあり、それによって破壊的な結果を引き起こす可能性があります。
ほとんどのダイアログには、ほぼ標準と見なせるボタン(例:OK やCancel ボタン)があります。これらのボタンを標準的な方法で作成すると便利な場合があります。
DialogButtonBox を使用するにはいくつかの方法があります。1 つの方法は、標準的なボタン(例:OK 、Cancel 、Save )を指定し、ボタンボックスにボタンの設定を行わせることです。

DialogButtonBox {
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
onAccepted: console.log("Ok clicked")
onRejected: console.log("Cancel clicked")
}あるいは、ボタンとその役割を手動で指定することもできます:
DialogButtonBox {
Button {
text: qsTr("Save")
DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
}
Button {
text: qsTr("Close")
DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
}
}通常のボタンと標準ボタンを組み合わせて使用することも可能です。
ボタンボックス内のボタンがクリックされると、実際に押されたボタンに対して `clicked()` シグナルが発信されます。さらに、それぞれの役割を持つボタンが押されると、以下のシグナルが自動的に発信されます:
| 役割 | シグナル |
|---|---|
AcceptRole,YesRole | accepted() |
ApplyRole | applied() |
DiscardRole | discarded() |
HelpRole | helpRequested() |
RejectRole,NoRole | rejected() |
ResetRole | reset() |
Dialogも参照してください 。
プロパティのドキュメント
alignment : flags
このプロパティは、ボタンの配置を指定します。
指定可能な値:
| 定数 | 説明 |
|---|---|
Qt.AlignLeft | ボタンは左揃えになります。 |
Qt.AlignHCenter | ボタンが水平方向に中央揃えになります。 |
Qt.AlignRight | ボタンは右揃えになります。 |
Qt.AlignTop | ボタンは上端に揃えられます。 |
Qt.AlignVCenter | ボタンは縦方向に中央揃えです。 |
Qt.AlignBottom | ボタンは下部に配置されます。 |
デフォルトでは、特定の配置は設定されていません。alignment プロパティを読み取ると、0 と同等となるデフォルトのフラグ値が返されます。このプロパティに `undefined ` を代入することで、この値にリセットできます。この場合、ボタンは利用可能なスペースを埋めるようにサイズが調整されます。
注:この プロパティは 、ボタンが水平に配置されることを前提としています。iOS スタイルを実行する場合、このプロパティが `undefined ` 以外に設定されており、かつボタンが 3 つ以上ある場合、DialogButtonBox は垂直配置を使用することに注意してください。それ以外の場合は、ボタンは水平に配置されます。
buttonLayout : enumeration [since QtQuick.Controls 2.5 (Qt 5.12)]
このプロパティは、ボタンボックスに含まれるボタンを配置する際に使用するボタンのレイアウトポリシーを指定します。デフォルト値はプラットフォームによって異なります。
使用可能な値:
| 定数 | 説明 |
|---|---|
DialogButtonBox.WinLayout | Windows上のアプリケーションに適したポリシーを使用します。 |
DialogButtonBox.MacLayout | macOS上のアプリケーションに適したポリシーを使用します。 |
DialogButtonBox.KdeLayout | KDE上のアプリケーションに適したポリシーを使用します。 |
DialogButtonBox.GnomeLayout | GNOME 上のアプリケーションに適したポリシーを使用します。 |
DialogButtonBox.AndroidLayout | Android 上のアプリケーションに適したポリシーを使用します。 |
このプロパティは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。
defaultButton : AbstractButton [since 6.11]
このプロパティは、デフォルトのボタンを指定します。
デフォルトのボタンは「highlighted 」となり、フォーカスがそのボタンに割り当てられます。
ボタンボックス内のボタンは、1つだけデフォルトに設定できます。このプロパティは、defaultStandardButton プロパティと併用することはできません。
このプロパティは Qt 6.11 で導入されました。
「 standardButtons 」および「defaultStandardButton 」も参照してください 。
defaultStandardButton : enumeration [since 6.11]
このプロパティには、デフォルトの標準ボタンが格納されます。
デフォルトの標準ボタンは「highlighted 」となり、フォーカスが当たります。
ボタンボックス内のボタンは、1つだけデフォルトに設定できます。このプロパティは、defaultButton プロパティと併用することはできません。
このプロパティは Qt 6.11 で導入されました。
「 standardButtons 」および「defaultButton 」も参照してください 。
delegate : Component
このプロパティは、標準のボタンを作成するためのデリゲートを保持します。
DialogButtonBox このプロパティは、デリゲートの所有権を取得しません。
「standardButtons」も参照してください 。
position : enumeration
このプロパティは、ボタンボックスの位置を指定します。
注: ボタンボックスがApplicationWindow またはページのヘッダーまたはフッターとして割り当てられている場合 、適切な位置は自動的に設定されます。
指定可能な値:
| 定数 | 説明 |
|---|---|
DialogButtonBox.Header | ボタンボックスは、ウィンドウまたはページのヘッダーとして上部に配置されます。 |
DialogButtonBox.Footer | ボタンボックスは、ウィンドウまたはページのフッターとして下部に配置されます。 |
デフォルト値は `Footer` です。
「 Dialog::header 」および「Dialog::footer 」も参照してください 。
standardButtons : enumeration
このプロパティには、ボタンボックスで使用される標準ボタンの組み合わせが格納されています。
DialogButtonBox {
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
onAccepted: console.log("Ok clicked")
onRejected: console.log("Cancel clicked")
}ボタンは、ユーザーのプラットフォームに応じて適切な順序で配置されます。
使用可能なフラグ:
| 定数 | 説明 |
|---|---|
DialogButtonBox.Ok | AcceptRole で定義された「OK」ボタン。 |
DialogButtonBox.Open | AcceptRole で定義された「開く」ボタン。 |
DialogButtonBox.Save | AcceptRole で定義された「Save」ボタン。 |
DialogButtonBox.Cancel | RejectRole で定義された「Cancel」ボタン。 |
DialogButtonBox.Close | RejectRole で定義された「閉じる」ボタン。 |
DialogButtonBox.Discard | プラットフォームに応じて、「破棄」または「保存しない」ボタン。DestructiveRole で定義されます。 |
DialogButtonBox.Apply | ApplyRole で定義された「適用」ボタン。 |
DialogButtonBox.Reset | ResetRole で定義された「リセット」ボタン。 |
DialogButtonBox.RestoreDefaults | ResetRole で定義された「Restore Defaults」ボタン。 |
DialogButtonBox.Help | HelpRole で定義された「ヘルプ」ボタン。 |
DialogButtonBox.SaveAll | AcceptRole で定義された「すべて保存」ボタン。 |
DialogButtonBox.Yes | YesRole で定義された「はい」ボタン。 |
DialogButtonBox.YesToAll | YesRole で定義された「すべてに『はい』」ボタン。 |
DialogButtonBox.No | NoRole で定義された「No」ボタン。 |
DialogButtonBox.NoToAll | NoRole で定義された「すべてに『いいえ』」ボタン。 |
DialogButtonBox.Abort | RejectRole で定義された「中止」ボタン。 |
DialogButtonBox.Retry | AcceptRole で定義された「再試行」ボタン。 |
DialogButtonBox.Ignore | AcceptRole で定義された「無視」ボタン。 |
DialogButtonBox.NoButton | 無効なボタン。 |
standardButton()も参照してください 。
添付プロパティのドキュメント
DialogButtonBox.buttonBox : DialogButtonBox [read-only attached]
この添付プロパティには、このボタンを管理するボタンボックス、あるいはボタンがボタンボックスに含まれていない場合はnull が格納されます。
DialogButtonBox.buttonRole : enumeration [attached]
この関連プロパティは、ボタンボックス内の各ボタンの役割を保持します。
DialogButtonBox {
Button {
text: qsTr("Save")
DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
}
Button {
text: qsTr("Close")
DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
}
}利用可能な値:
| 定数 | 説明 |
|---|---|
DialogButtonBox.InvalidRole | ボタンは無効です。 |
DialogButtonBox.AcceptRole | ボタンをクリックすると、ダイアログが承認されます(例:OK )。 |
DialogButtonBox.RejectRole | ボタンをクリックすると、ダイアログが却下されます(例:Cancel )。 |
DialogButtonBox.DestructiveRole | このボタンをクリックすると、破壊的な変更(変更の破棄など)が行われ、ダイアログが閉じられます。 |
DialogButtonBox.ActionRole | このボタンをクリックすると、ダイアログ内の要素に変更が反映されます。 |
DialogButtonBox.HelpRole | このボタンをクリックすると、ヘルプを表示できます。 |
DialogButtonBox.YesRole | このボタンは「はい」のようなボタンです。 |
DialogButtonBox.NoRole | このボタンは「いいえ」のようなボタンです。 |
DialogButtonBox.ResetRole | このボタンをクリックすると、ダイアログのフィールドがデフォルト値にリセットされます。 |
DialogButtonBox.ApplyRole | このボタンをクリックすると、現在の変更が反映されます。 |
シグナルのドキュメント
accepted()
このシグナルは、AcceptRole またはYesRole で定義されたボタンがクリックされたときに発火します。
注: 対応するハンドラは onAccepted です。
関連項目: rejected()、clicked()、およびhelpRequested()。
[since QtQuick.Controls 2.3 (Qt 5.10)] applied()
このシグナルは、ApplyRole で定義されたボタンがクリックされたときに発生します。
注: 対応するハンドラは `onApplied` です。
このシグナルは、QtQuick.Controls 2.3 (Qt 5.10) で導入されました。
discarded() およびreset()も参照してください 。
clicked(AbstractButton button)
このシグナルは、ボタンボックス内のbutton がクリックされたときに発生します。
注: 対応するハンドラは `onClicked` です。
関連項目: accepted()、rejected()、およびhelpRequested()。
[since QtQuick.Controls 2.3 (Qt 5.10)] discarded()
このシグナルは、DiscardRole で定義されたボタンがクリックされたときに発生します。
注: 対応するハンドラは onDiscarded です。
このシグナルは、QtQuick.Controls 2.3 (Qt 5.10) で導入されました。
reset() およびapplied()も参照してください 。
helpRequested()
このシグナルは、HelpRole で定義されたボタンがクリックされたときに発生します。
注: 対応するハンドラは `onHelpRequested` です。
関連項目: accepted()、rejected()、clicked()も参照してください 。
rejected()
このシグナルは、RejectRole またはNoRole で定義されたボタンがクリックされたときに発生します。
注: 対応するハンドラは onRejected です。
関連項目: accepted()、helpRequested()、およびclicked()も参照してください 。
[since QtQuick.Controls 2.3 (Qt 5.10)] reset()
このシグナルは、ResetRole で定義されたボタンがクリックされたときに発生します。
注: 対応するハンドラは `onReset` です。
このシグナルは、QtQuick.Controls 2.3 (Qt 5.10) で導入されました。
discarded() およびapplied()も参照してください 。
メソッドのドキュメント
AbstractButton standardButton(StandardButton button)
指定された標準button を返します。存在しない場合はnull を返します。
「standardButtons」も参照してください 。
© 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.