DialogButtonBox QML Type

ダイアログで使用されるボタンボックス。もっと見る...

Import Statement: import QtQuick.Controls
Inherits:

Container

プロパティ

付属プロパティ

シグナル

メソッド

詳細説明

ダイアログやメッセージボックスは通常、そのプラットフォームのインターフェースガイドラインに従った順序でボタンを表示します。異なるプラットフォームでは、ダイアログ・ボタンの並び順が異なることがよくあります。DialogButtonBoxでは、開発者がボタンを追加することができ、ユーザーのプラットフォームに適した順序を自動的に使用します。

ダイアログのほとんどのボタンは、特定の役割に従います。そのような役割には次のようなものがあります:

  • ダイアログを受け入れるか拒否するか。
  • 助けを求める。
  • ダイアログ自体に対するアクションの実行(フィールドのリセットや変更の適用など)。

破壊的な結果を引き起こす可能性のある、ダイアログを却下する別の方法もありえます。

ほとんどのダイアログには、ほとんど標準的といえるボタンがあります(例えば、OKCancel ボタン)。これらのボタンを標準的な方法で作成すると便利なことがあります。

DialogButtonBoxを使うにはいくつかの方法があります。一つは標準的なボタン(例:OKCancelSave )を指定し、ボタンボックスにボタンを設定させる方法です。

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,YesRoleaccepted()
ApplyRoleapplied()
DiscardRolediscarded()
HelpRolehelpRequested()
RejectRole,NoRolerejected()
ResetRolereset()

Dialogも参照

プロパティの説明

alignment : flags

このプロパティは、ボタンの配置を保持する。

取り得る値

定数説明
Qt.AlignLeftボタンは左に配置される。
Qt.AlignHCenterボタンは水平に中央に配置されます。
Qt.AlignRightボタンは右揃えになります。
Qt.AlignTopボタンは上側に並んでいます。
Qt.AlignVCenterボタンは垂直中央に配置されます。
Qt.AlignBottomボタンは下に配置されます。

デフォルトでは、特定の整列は設定されていません。alignmentプロパティを読み取ると、0と比較されるデフォルトのフラグ値が得られます。このプロパティは、undefined を代入することでこの値にリセットすることができます。この場合、ボタンは利用可能なスペースを埋めるようにリサイズされます。

注: このプロパティは、ボタンの水平レイアウトを前提としています。iOSスタイルを実行する場合、このプロパティがundefined 以外に設定され、ボタンが2つ以上ある場合、DialogButtonBox は垂直レイアウトを使用することに注意してください。それ以外の場合、ボタンは水平に配置されます。


buttonLayout : enumeration [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、ボタンボックスに含まれるボタンを配置する際に使用するボタンレイアウトポリシーを保持します。デフォルト値はプラットフォーム固有です。

利用可能な値

定数説明
DialogButtonBox.WinLayoutWindows 上のアプリケーションに適したポリシーを使用します。
DialogButtonBox.MacLayoutmacOS 上のアプリケーションに適したポリシーを使用する。
DialogButtonBox.KdeLayoutKDE 上のアプリケーションに適したポリシーを使用する。
DialogButtonBox.GnomeLayoutGNOME上のアプリケーションに適切なポリシーを使用する。
DialogButtonBox.AndroidLayoutAndroid 上のアプリケーションに適したポリシーを使用する。

このプロパティは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。


delegate : Component

このプロパティは、標準ボタンを作成するためのデリゲートを保持します。

standardButtonsも参照してください


position : enumeration

このプロパティは、ボタンボックスの位置を保持します。

注: ボタンボックスがApplicationWindow または Page のヘッダーまたはフッターとして割り当てられている場合、適切な位置が自動的に設定されます。

指定可能な値

定数説明
DialogButtonBox.Headerボタンボックスは、ウィンドウまたはページのヘッダーとして、一番上にあります。
DialogButtonBox.Footerボタ ンボ ッ ク スは、 ウ ィ ン ド ウ ま たはページ フ ッ タ と し て下端に配置 さ れます。

デ フ ォ ル ト 値はFooter です。

Dialog::headerDialog::footerも参照してください


standardButtons : enumeration

こ のプ ロ パテ ィ は、 ボ タ ン ボ ッ ク ス で用い ら れ る 標準ボ タ ンの組み合わせを保持 し ます。

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}

ボタンはユーザーのプ ラ ッ ト フ ォームにあわせて適切な順序で配置 さ れます。

可能なフラグ

定数説明
DialogButtonBox.OkAcceptRole で定義された "OK "ボタン。
DialogButtonBox.OpenAcceptRole で定義された「開く」ボタン。
DialogButtonBox.SaveAcceptRole で定義された「保存」ボタン。
DialogButtonBox.CancelRejectRole で定義された「キャンセル」ボタン。
DialogButtonBox.CloseRejectRole で定義された「閉じる」ボタン。
DialogButtonBox.Discardプラットフォームによって異なるが、DestructiveRole で定義された「破棄」または「保存しない」ボタン。
DialogButtonBox.ApplyApplyRole
DialogButtonBox.ResetResetRole で定義された「リセット」ボタン。
DialogButtonBox.RestoreDefaultsResetRole で定義されている「デフォルトに戻す」ボタン。
DialogButtonBox.HelpHelpRole で定義された「ヘルプ」ボタン。
DialogButtonBox.SaveAllAcceptRole で定義された「すべて保存」ボタン。
DialogButtonBox.YesYesRole で定義された「はい」ボタン。
DialogButtonBox.YesToAllYesRole で定義された「Yes to All」ボタン。
DialogButtonBox.NoNoRole で定義された「いいえ」ボタン。
DialogButtonBox.NoToAllNoRole で定義された「No to All」ボタン。
DialogButtonBox.AbortRejectRole で定義された「中止」ボタン。
DialogButtonBox.RetryAcceptRole で定義される「再試行」ボタン。
DialogButtonBox.IgnoreAcceptRole で定義された「無視」ボタン。
DialogButtonBox.NoButton無効なボタン。

standardButton()も参照のこと


Attached プロパティの説明

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ボタンは "Yes "のようなボタンです。
DialogButtonBox.NoRoleボタンは "No "のようなボタンです。
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も参照してください


本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。