-
Bug
-
Resolution: Duplicate
-
P2: Important
-
5.15.2, 6.1.2
Given a QML type in a file named MyType which contains a enum such as this:
import QtQuick 2.15 import QtQml.Models 2.15 Item { id: root enum Enum { A, B, C } // ... }
, the following works:
property var model: ([
{ name: "A", value: MyType.Enum.A },
{ name: "B", value: MyType.Enum.B },
{ name: "C", value: MyType.Enum.C },
])
// ...
Rectangle {
id: delegate
property string name: modelData['name']
property int value: modelData['value']
// use `delegate.name`...
}
but this doesn't:
ListModel {
id: model
ListElement {
name: "A"
value: MyType.Enum.A
}
ListElement {
name: "B"
value: MyType.Enum.B
}
ListElement {
name: "C"
value: MyType.Enum.C
}
}
// ...
Rectangle {
id: delegate
required property string name
required property int value
// use `delegate.name`...
}
The error in infamous "cannot use script":
QQmlApplicationEngine failed to load component qrc:/main.qml:11:5: Type MyType unavailable qrc:/MyType.qml:18:13: ListElement: cannot use script for property value
- duplicates
-
QTBUG-118879 QML ListElement does not work with enums when "as" import is used
-
- Closed
-
- relates to
-
QTBUG-118879 QML ListElement does not work with enums when "as" import is used
-
- Closed
-
-
QTBUG-116548 ListElement: Make enum assignments compilable by qmlsc
-
- Reported
-