[Qt-qml] How to interface between main.cpp classes and custom c++ based widgets?
Till Harbaum / Lists
lists at harbaum.org
Tue Jul 12 20:27:12 CEST 2011
Hi,
using properties for this somehow feels wrong. The locationProvider is sending a positioninfo. This isn't a property of the map as the map does not store the positioninfo, it just extracts a coordinate from this and uses that to update itself.
My solution is now to make the LocationProvider a named child of QApplication. Any other C++ code can then get a reference to this from QApplication via static methods (so no further context required). I don't know how ugly this is, but it doesn't feel to bad :-)
Till
Am Montag 11 Juli 2011 schrieb Gregory Schlomoff:
> Hi,
>
> Why can't i use the above statement within my Map in qml? This:
> >
> > Map {
> > Connections {
> > target: LocationProvider
> > onPositionUpdated: console.log("Position changed")
> > }
> > }
> >
> > results in "Cannot assign object to list
> > Connections {
> > "
> >
> > while i can do the same with a real qml object
>
>
> What happens is that "real qml objects" are subclasses of QDeclarativeItem,
> and QDeclarativeItem has a default property named "children". So to be able
> to put a Connections object inside your Map object, you must add a
> Q_PROPERTY to your Map class that takes a list of QDeclarativeConnections
> (or more generally, a list of QDeclarativeItem, or even of QOBjects, if you
> wish), and make this property as default.
>
>
More information about the Qt-qml
mailing list