[Development] Qt 5.2 Alpha possible issue with V4 and exposed Qml properties
Paul Lemire
paullemire at hotmail.com
Fri Oct 11 18:30:47 CEST 2013
On Fri, 11 Oct 2013 18:16:07 +0200, Nils Jeisecke <njeisecke at saltation.de>
wrote:
> Hi Paul,
>
> On Fri, Oct 11, 2013 at 5:29 PM, Paul Lemire <paullemire at hotmail.com>
> wrote:
>> On a side note, those models are not registered as qml properties but
>> are
>> returned as QObject* in a Q_INVOKABLE methods of the backend. If I want
>> to
>> use the model in a ListView, I then do :
>>
>> ListView
>> {
>> model : library_name.getMyModel();
>> ....
>> }
> When returning QObject* from invokable methods, the Qml engine takes
> ownership by default. Your object probably gets destroyed at some
> point.
>
> Use QQmlEngine::setObjectOwnership if this is not what you want.
>
> Why aren't you providing your model pointers as read only properties
> instead?
>
> Nils
Thanks Nils, you saved me a lot of time.
That explains why my objects suddenly became inaccessible, I'll move them
to properties and it will most certainly solve my problem.
I used Q_INVOKABLE because it seemed to work and never searched further
though I was using properties to store some strings. I should have read
the doc better as I didn't know about Qml ownership.
Thanks again and sorry about the V4 bug alert.
More information about the Development
mailing list