Saturday, 15 September 2012

c++ - Access QList<T> from qml -


I want to access QML from QML. Here is a sample code

  class A; Class B: Public QObject {... Q_INVOKABLE QQmlListProperty & lt; A & gt; Read (); ... Private: QList & lt; A * & gt; Lst; }  

I am using reference property to access the object of qml in class B. Any sample code I can access in qml will be useful

You will see the Q_DECLARE_METATYPE (A *) will need to be able to wrap it in a QVariant for use in QML

but to just reference it and pass it to QML is.

If you have to code as a CML, it must inherit QObject and execute properties, slots and such.

How can you implement QQmlListProperty here:

In addition to this, if QObject is too heavy for you and in them If you have a lot, you always get a QObject non- QObject to be used as a controller, but is still registered as a MetaType type.

  class A {public: int a; }; Q_DECLARE_METATYPE (A *) Class AROCO: Public QObject {Q_OBJECT Public Slot: QVariant aVar} {return aVar.value & lt; A * & gt; () - & gt; A; } Zero set A (QVariant aVar, int v) {aVar.value & lt; A * & gt; () - & gt; A = v; }};  

In this way you do not have the limitations of size overhead and QObject for every object in the list, and instead using a controller to access the data Although, in your case, you can use B to act as both container and controller proxy for low performance.


No comments:

Post a Comment