Does really property var mdl: model copies the full model object in memory?
-
wrote on 13 May 2016, 07:28 last edited by
Hello guys,
I faced with this issue that I have to pass forward some data from one QML component to another and thus I createdproperty var mdl: model
whenmodel
here is quite heavy object.
Does QtQuick really copies this in memory or how does it works? and what is the difference withproperty alias
? -
Hello guys,
I faced with this issue that I have to pass forward some data from one QML component to another and thus I createdproperty var mdl: model
whenmodel
here is quite heavy object.
Does QtQuick really copies this in memory or how does it works? and what is the difference withproperty alias
?Hi @Kofr,
It is documented here. From the doc:Property aliases are properties which hold a reference to another property. Unlike an ordinary property definition, which allocates a new, unique storage space for the property, a property alias connects the newly declared property (called the aliasing property) as a direct reference to an existing property (the aliased property).
So what I understand from it is that the first assignment (in your example) will copy into a new object while aliases holds the reference.
-
Hi @Kofr,
It is documented here. From the doc:Property aliases are properties which hold a reference to another property. Unlike an ordinary property definition, which allocates a new, unique storage space for the property, a property alias connects the newly declared property (called the aliasing property) as a direct reference to an existing property (the aliased property).
So what I understand from it is that the first assignment (in your example) will copy into a new object while aliases holds the reference.
-
@p3c0 so
model
in example is a model defined in C++ and instantiated in QML.
The question is
Does QML makes copy of this object (2 data models in memory) or it keeps only reference.
is it ducumented somewhere?wrote on 13 May 2016, 13:40 last edited by@Kofr Hi! If you want to be really sure (because you don't trust the docs or your code ^_^) then add something like
qDebug() << "hello";
to the destructor of the model and see how often that's called.
1/4