1. You can do an Item as root object to put children. Annoying because it get a lot of unused properties. 2. Or you can do your own QtObjectWithChildren from C++, which is just a QObject with children default property list of QObject*. (We did this and call them QmlObject) 3. Or use a javascript map, annoying to emit changed() when modifying a single value inside the map.
ex 2 implemented: QmlObject { readonly property alias myCategory: myCategory_ QmlObject { id: myCategory_ readonly property color red: "#FF00000" } } On Fri, Apr 29, 2016 at 2:12 PM, Viktória Nemkin <viktoria.nem...@gmail.com> wrote: > Thank you for your help. The syntax for creating a named object property > is what I needed. > > Regards, > Viki > > On 29 April 2016 at 13:12, Kristoffersen, Even (NO14) < > even.kristoffer...@honeywell.com> wrote: > >> Those internal elements are not directly accessible. >> >> You can try exposing them with the use of *alias* in the root object. >> >> >> >> >> >> -Even >> >> >> >> *From:* Interest [mailto:interest-bounces+even.kristoffersen= >> honeywell....@qt-project.org] *On Behalf Of *Viktória Nemkin >> *Sent:* 29. april 2016 13:04 >> *To:* interest@qt-project.org >> *Subject:* [Interest] Clean way to define and categorize constants in QML >> >> >> >> Hello! >> >> >> >> What is a clean way to define and categorize constants in QML? >> >> >> >> I have came up with this so far: >> >> >> >> I have a QML singleton element, named Theme. There I keep a few constant >> things, like different background and font colors. >> >> >> >> Theme.qml: >> >> pragma Singleton >> >> import QtQuick 2.0 >> >> QtObject { >> >> readonly property color backgroundRed: "#FF2510" >> >> readonly property color backgroundWhite: "#F0F0F0" >> >> readonly property color backgroundPurple: "#930083" >> >> readonly property color fontRed: "#FF1010" >> >> readonly property color fontWhite: "#F6F6F6" >> >> } >> >> >> >> When I want to use one of the colors I write: >> >> >> >> color: Theme.backgroundRed >> >> >> >> I don't like this approach. What I would like to be able to write is this: >> >> >> >> color: Theme.background.red >> >> >> >> I have tried adding nested QtObjects inside Theme but I could not get it >> working. >> >> >> >> QtObject { >> >> QtObject { >> >> id: *background* >> >> readonly property color red: "#FF2510" >> >> readonly property color white: "#F0F0F0" >> >> readonly property color purple: "#930083" >> >> } >> >> >> >> QtObject { >> >> id: *font* >> >> readonly property color red: "#FF1010" >> >> readonly property color white: "#F6F6F6" >> >> } >> >> } >> >> >> >> When I run it like this, I get an error: Theme.qml: Cannot assign to >> non-existent default property. >> >> Is there a way to accomplish this? Is there any clean way to define and >> categorize constants in QML? >> >> Thank you, >> Viki >> > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest