[Interest] SingletonType functions not visible in QML

Samuel Stirtzel s.stirtzel at googlemail.com
Fri May 22 16:35:38 CEST 2015


2015-05-22 16:30 GMT+02:00 Dmitry Volosnykh <dmitry.volosnykh at gmail.com>:
> Samuel, what you ask is explained here:
> http://doc.qt.io/qt-5/qqmlengine.html#qmlRegisterSingletonType-2
>
> citation:
>
> NOTE: A QObject singleton type instance returned from a singleton type
> provider is owned by the QML engine. For this reason, the singleton type
> provider function should not be implemented as a singleton factory.
>

Ah ok thanks, at the first glance this code looked quite malicious,
but reading the documentation sure helps ;)

> On Fri, May 22, 2015 at 5:27 PM, Samuel Stirtzel <s.stirtzel at googlemail.com>
> wrote:
>>
>> 2015-05-22 15:56 GMT+02:00 mark diener <rpzrpzrpz at gmail.com>:
>>
>> > static QObject *singprovider(QQmlEngine *gengine, QJSEngine
>> > *gscriptEngine)
>> > {
>> >     Q_UNUSED(gengine)
>> >     Q_UNUSED(gscriptEngine)
>> >     Sing* gsing = new Sing();
>> >     return gsing;
>> > }
>>
>> Is the return value of the function cached in qt internally?
>> Or will this just create a new "singleton" with every call?
>>
>> how about this:
>>
>> static Sing* gsing = new Sing();
>>


-- 
Regards
Samuel



More information about the Interest mailing list