[Interest] Using Q_NAMESPACE enum as a Q_PROPERTY type

Max Paperno max-l at wdg.us
Mon May 4 04:44:37 CEST 2020


Is the namespace in a linked library? Is there any exporting/importing 
involved at all?

-Max


On 5/2/2020 4:48 PM, Doogster wrote:
> I'm having trouble using an enum with Q_NAMESPACE, as a Q_PROPERTY type.
> 
> I'm trying to follow this:
> https://www.kdab.com/new-qt-5-8-meta-object-support-namespaces/
> 
> I have the following enum:
> 
> -
> namespace ConnectionState {
> 
>    Q_NAMESPACE
> 
>    enum class State : quint8 {Disconnected, Connecting, Connected};
> 
>    Q_ENUM_NS(State)
> 
> }
> -
> 
> On another class I have:
> 
> -
> Q_PROPERTY(ConnectionState::State connectionState READ connectionState
> WRITE setConnectionState NOTIFY connectionStateChanged);
> -
> 
> Trying to compile that gives me:
> 
> /usr/bin/ld: moc_controller.o:(.data.rel.ro+0x30): undefined reference
> to `ConnectionState::staticMetaObject'
> 
> The getter, setter and signal are all defined. If I take out the
> Q_PROPERTY declaration, then my code compiles, but then I don't have
> the property to expose to QML.
> 
> What am I missing?


More information about the Interest mailing list