Details
-
Bug
-
Resolution: Duplicate
-
P2: Important
-
5.15.2, 6.1.2
Description
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
Attachments
Issue Links
- 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
-