isn't Q_ENUM is deprecated and now Q_ENUMS should be used instead? or vice
versa...always forgetting :)

On Thu, Jul 4, 2019 at 4:14 PM Olivier Goffart <oliv...@woboq.com> wrote:

> On 04.07.19 12:43, Tom Isaacson wrote:
> >> The problem is that moc only generates the code that calls
> qRegisterMetaType if it sees Q_DECLARE_METATYPE. Actually, it does a bit
> more than that. It could as well do it for Q_ENUM type, just not
> implemented yet.
> >>
> >> We should consider doing it for all the types used in
> signals/slots/properties.
> >>   But it does not do it because that could be a potential breaking
> change for forward declared types.
> >> Maybe something for Qt6.
> >
> > It's very confusing. You said yourself on
> https://woboq.com/blog/q_enum.html that "These enums are automatically
> declared as a QMetaTypes (no need to add them in Q_DECLARE_METATYPE
> anymore)." So Q_ENUM replaces Q_DECLARE_METATYPE and provides additional
> functionality but requires you to add an additional call to
> qRegisterMetaType? That seems backward.
>
>
> I know, the whole story behind Q_DECLARE_METATYPE and qRegisterMetaType
> is a
> bit confusing.
>
> Regarding Q_ENUM specifically, it could be fixed in moc, to be in the list
> of
> the type that are declared.
>
>
> > Can I use Q_DECLARE_METATYPE and Q_ENUM and avoid qRegisterMetaType?
>
> Yes, youu can use both Q_DECLARE_METATYPE and Q_ENUM
> _______________________________________________
> Development mailing list
> Development@qt-project.org
> https://lists.qt-project.org/listinfo/development
>


-- 
Best regards,
Vlad
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to