C
enumeration QML Value Type
名前付き列挙値。詳細...
- この列挙型は、Qt for MCUs のQML基本型の一部です。
詳細な説明
enumeration 型は、名前付き列挙値を指します。
各名前付き値は `<Type>.<value>` として参照できます。たとえば、`Text ` 型には `AlignRight ` という列挙値があります。
Text { horizontalAlignment: Text.AlignRight }
C++と統合する際、C++からQMLに渡されるenum 値は自動的にenumeration 値に変換され、その逆も同様であることに注意してください。
この基本型は QML 言語によって提供されます。一部の列挙値は、QtQuick インポートによって提供されます。
QML での列挙型の使用
enumeration 型は、C++のenum 型の表現です。QML自体ではenumeration 型を参照することも可能ですが、QMLコードからenumeration の値を参照する際には、int 型を使用する必要があります。
例:
import QtQuick 2.15 Item { // refer to Text.AlignRight using an int type property int enumValue: textItem.horizontalAlignment signal valueEmitted(int someValue) Text { id: textItem horizontalAlignment: Text.AlignRight } // emit valueEmitted() signal, which expects an int, with Text.AlignRight Component.onCompleted: valueEmitted(Text.AlignRight) }
同じ列挙子を持つ列挙型の定義
場合によっては、同じ列挙子を持つ複数の列挙型が必要になることがあります:
Item {
enum DeviceUnits {
Unknown,
Metric,
Imperial
}
enum AppUnits {
Unknown,
Metric,
Imperial
}
}上記で示したような同一の列挙子を使用する方法は、Qt Quick Ultraliteではサポートされていませんが、同様の結果を得るための選択肢はいくつかあります。
- 列挙子には適切な接頭辞を使用してください:
Item { enum DeviceUnits { D_Unknown, D_Metric, D_Imperial } enum AppUnits { A_Unknown, A_Metric, A_Imperial } } - 列挙型を同じ QML ファイル内でのみ使用する場合は、それらを名前付きインラインコンポーネントで囲んでください:
- あるいは、列挙型ごとに個別の QML ファイルを作成してください:
// DeviceUnits.qml QtObject { enum DeviceUnits { Unknown, Metric, Imperial } }
// AppUnits.qml QtObject { enum AppUnits { Unknown, Metric, Imperial } }
「QMLの基本型」、「プロパティ型としてのenum型」、および「QMLオブジェクト - 列挙型属性」も参照してください 。
特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。