Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
4.7.1
-
None
-
Qt 4.7.1, QtCreator 2.0.1, 2.1 RC.
-
8fda8d16df9744b69a97020e3aae1ad40ff1f538
Description
I tried to create a numeric keyboard and stuck at the following: I want to let every button handle its own key, so I pass this key through the model:
Model
Repeater { model: ListModel { id: model ListElement { label: "7"; value: "7"; key: Qt.Key_7 } ...
In the button component (delegate) I use this:
Delegate
Keys.onPressed: { if (event.key == model.key) { event.accepted = true; clicked(model.value); ...
But the point is that it doesn't let me use Qt.Key* constants:
file:///D:/Projects/qmlinterface/Controls/Numpad.qml:25:43: ListElement: cannot use script for property value ListElement { label: "7"; value: "7"; key: Qt.Key_7 } ^
There are workarounds (scancode hardcoding, string-scancode hash function, etc) but all that is workarounds with overhead, complications, performance flaws.
Please implement using script constants in models.