[Interest] Using Q_NAMESPACE enum as a Q_PROPERTY type
Doogster
thedoogster at gmail.com
Sat May 2 22:48:38 CEST 2020
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