Описание тега qgadget
В Q_GADGET
макрос - это облегченная версия Q_OBJECT
макрос для классов, которые не наследуются от QObject
но все же хотите использовать некоторые возможности отражения, предлагаемые QMetaObject
. Как иQ_OBJECT
макрос, он должен появиться в private
раздел определения класса.
Q_GADGET
делает членом класса, staticMetaObject
, имеется в наличии. staticMetaObject
относится к типу QMetaObject
и предоставляет доступ к перечислениям, объявленным с помощью Q_ENUMS
.
Начиная с Qt 5.5 Q_GADGET
s может иметь Q_ENUM
, Q_PROPERTY
а также Q_INVOKABLE
но, в отличие от Q_OBJECT
, они не могут объявлять сигналы или слоты. Благодаря этим новым функциям,Q_GADGET
макрос может использоваться для регистрации так называемого настраиваемого типа значения QML, как описано в документации.