[Development] QTCS2019 Notes from QtQml session

Damian Ivanov damianatorrpm at gmail.com
Fri Nov 22 16:49:19 CET 2019


How would .qml files that are singletons and instantiated from c++ be used
currently I do this and am able to access it from qml and c++
QQmlComponent* component = new QQmlComponent(application_engine,
"qrc:/Component.qml");
QObject* obj = component->create();
obj->setParent(this);
application_engine->rootContext()->setContextProperty("obj", obj);

I don't see this anywhere documented how this could be done using a singleton.
If I register it as singleton the application_engine doesn't find it
findChild->
Using component->create would create it again since it is already
registered as a singleton.

Any suggestions?


;

On Fri, Nov 22, 2019 at 12:53 PM Kai Uwe Broulik <kde at privat.broulik.de> wrote:
>
> Hi,
>
>  > these are the notes on the QtQml session:
>
>  > Versioning
>  > ----------
>  >
>  > Once we get rid of unqualified lookups we don't need any QML versioning
>  > anymore. At least the minor version will become optional already in 5.15
>  > for well-behaved QML documents. In QML 3 it won't be allowed.
>
> While I agree with this overall, there's still one caveat which I
> haven't seen discussed yet:
>
> Imagine I have the following code:
>
> Item {
>      id: foo
>      property color prettyColor: "#f0f"
>
>      Rectangle {
>          color: foo.prettyColor
>      }
> }
>
> Right now "foo" refers to the Item. What if in a future update,
> Rectangle gains a new property "foo". Unless you want to force everyone
> to be explicit by using "this" (e.g. width: this.height) everywhere,
> which would be annoying, I don't see how this can be made future-proof
> without some form of versioning or some other magic solution?
>
> Cheers
> Kai Uwe
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development


More information about the Development mailing list