[SailfishDevel] Problem in interaction qml and c++
michael fuchs
fooxl at posteo.at
Thu Apr 23 10:42:59 UTC 2020
Am 23.04.2020 11:39 schrieb David Llewellyn-Jones:
>> https://gist.github.com/pazdera/1098119
>
> Yeah, this looks like a decent example: clear and complete.
>
> As you can see from this, you essentially end up with a global object
> you can access from anywhere. The downside is that you only ever have
> one of them, so if you need more than one Controller, or (as Julian
> mentions) think it might be needed in future, then this probably isn't
> the right approach.
Right now it works with single objects (one controller, one netaccess,
one imgdb), which are instanciated in c++, but they are not defined as
singletons. So my first step could be, to redefine the class as
singletons, adapt the references accordingly and see what happens.
>> I hope this also works for Q_OBJECT s.
>> Maybe I should rather make netAccess and imgDB itself singletons?
>
> I don't recall any issues with Q_OBJECTS being singletons, however if
> you plan to use it in your QML you may also need to do some work
> registering it as a singleton there too.
>
> There's an example here:
>
> https://doc.qt.io/qt-5/qqmlengine.html#qmlRegisterSingletonType
>
> But I wouldn't worry about this unless you're already registering your
> Controller as a QML type and need to use it from QML. As Julien also
> pointed out, mixing singletons in C++ and QML adds complexity that can
> lead to errors.
I'd like to avoid that and only interact with the singletons inside c++.
Thanks a lot to you and Julien,
fooxl.
More information about the Devel
mailing list