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ライセンスの下で利用可能です。
詳細はこちらをご覧ください。