CheckDelegate QML Type
オン・オフを切り替えられるチェック・インジケータを持つアイテム・デリゲート。詳細...
Import Statement: | import QtQuick.Controls |
Inherits: |
プロパティ
- checkState : enumeration
- nextCheckState : function
(since QtQuick.Controls 2.4 (Qt 5.11))
- tristate : bool
詳細説明
CheckDelegate は、オン(チェック)またはオフ(チェックなし)を切り替えることができる項目デリゲートを提示します。チェックデリゲートは、通常、リスト内のオプションのセットから1つ以上のオプションを選択するために使用されます。より小さなオプションの集合や、 一意に識別する必要があるオプションの場合は、CheckBox を代わりに使うことを検討してください。
CheckDelegate は、その API をItemDelegate から継承し、AbstractButton から継承しています。例えば、text を設定し、AbstractButton APIを使用してclicks に反応することができます。チェック・デリゲートの状態は、checked プロパティで設定できます。
checkedとuncheckedの状態に加えて、第3の状態としてpartially checkedがあります。部分的にチェックされた状態は、tristate プロパティを使用して有効にすることができます。この状態は、通常のchecked/unchecked状態を決定できないことを示します。一般的には、チェックデリゲートに影響を与える他の状態があるためです。この状態は、ツリービューで複数の子ノードが選択されている場合などに便利です。
ListView { model: ["Option 1", "Option 2", "Option 3"] delegate: CheckDelegate { text: modelData } }
CheckDelegate,Delegate Controls,CheckBoxのカスタマイズも参照してください 。
プロパティの説明
checkState : enumeration |
nextCheckState : function |
このプロパティは、チェックデリゲートがタッチ、マウス、またはキーボードによってユーザーによってインタラクティブに切り替えられるたびに、次のチェック状態を決定するために呼び出されるコールバック関数を保持します。
デフォルトでは、通常のチェック・デリゲートは、Qt.Unchecked
とQt.Checked
の状態を循環し、トライステート・チェック・デリゲートは、Qt.Unchecked
、Qt.PartiallyChecked
、Qt.Checked
の状態を循環します。
nextCheckState
コールバック関数は、デフォルトの動作をオーバーライドできます。以下の例では、トライステート・チェック・デリゲートを実装しています。このデリゲートは、外部条件によって部分的にチェックされた状態を提示することができますが、ユーザーによってインタラクティブに切り替えられたときに、部分的にチェックされた状態に循環することはありません。
CheckDelegate { tristate: true checkState: allChildrenChecked ? Qt.Checked : anyChildChecked ? Qt.PartiallyChecked : Qt.Unchecked nextCheckState: function() { if (checkState === Qt.Checked) return Qt.Unchecked else return Qt.Checked } }
このプロパティは、QtQuick.Controls 2.4(Qt 5.11)で導入されました。
tristate : bool |
このプロパティは、チェックデリゲートが3つの状態を持つかどうかを決定します。
下のアニメーションでは、最初のチェックデリゲートがトライステートになっています:
デフォルトはfalse
、つまりデリゲートは2つの状態しか持たない。
デフォルトは で、つまりデリゲートは2つの状態しか持ちません。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。