Описание тега qgadget

Макрос Q_GADGET - это облегченная версия макроса Q_OBJECT для классов, которые не наследуются от QObject, но все же хотят использовать некоторые возможности отражения, предлагаемые QMetaObject. Как и макрос Q_OBJECT, он должен находиться в закрытом разделе определения класса.

В Q_GADGET макрос - это облегченная версия Q_OBJECT макрос для классов, которые не наследуются от QObject но все же хотите использовать некоторые возможности отражения, предлагаемые QMetaObject. Как иQ_OBJECT макрос, он должен появиться в private раздел определения класса.

Q_GADGET делает членом класса, staticMetaObject, имеется в наличии. staticMetaObject относится к типу QMetaObject и предоставляет доступ к перечислениям, объявленным с помощью Q_ENUMS.

Начиная с Qt 5.5 Q_GADGETs может иметь Q_ENUM, Q_PROPERTY а также Q_INVOKABLE но, в отличие от Q_OBJECT, они не могут объявлять сигналы или слоты. Благодаря этим новым функциям,Q_GADGETмакрос может использоваться для регистрации так называемого настраиваемого типа значения QML, как описано в документации.