Time for action – grouping engine properties

QML has a concept called grouped properties. These are properties of an object that contain a group of "sub-properties." You already know a number of them–the border property of the Rectangle element or the anchors property of the Item element, for example. Let's see how to define such properties for our exposed object.

Create a new QObject-derived class and call it CarInfoEngine. Move the property definitions of rpm and gear to that new class.Add the following property declaration to CarInfo:

Q_PROPERTY(Object* engine READ engine NOTIFY engineChanged)

Implement the getter and the private field:

    QObject* engine() const { return m_engine; }
private:
    CarInfoEngine *m_engine;

We are not going to use the signal ...

Get Game Programming Using Qt now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.