Warning, /sdk/clazy/docs/checks/README-fully-qualified-moc-types.md is written in an unsupported language. File is not indexed.
0001 # fully-qualified-moc-types
0002
0003 Warns when a signal, slot or invokable declaration is not using *fully-qualified* type names, which will break *old-style* connects and interaction with QML.
0004
0005 Also warns if a `Q_PROPERTY` of type gadget is not fully-qualified (Enums and `QObject`s in `Q_PROPERTY` don't need
0006 to be fully qualified).
0007
0008 Example:
0009 ```
0010 namespace MyNameSpace {
0011
0012 struct MyType { (...) };
0013
0014 class MyObject : public QObject
0015 {
0016 Q_OBJECT
0017 Q_PROPERTY(MyGadget myprop READ myprop); // Wrong, needs namespace
0018 Q_SIGNALS:
0019 void mySignal(MyType); // Wrong
0020 void mySignal(MyNameSpace::MyType); // OK
0021 };
0022 }
0023 ```
0024 Beware that fixing these type names might break user code if they are connecting to them via *old-style* connects, since the users might have worked around your bug and not included the namespace in their connect statement.
0025
0026 The `Q_PROPERTY` warning is only given when processing your *.moc files, it won't work if you for some reason compile your source file individually.
0027 Meaning it won't warn when using QtCreator's inline clazy support. Only when doing a complete build with clazy (As in QMAKE_CXX=clazy / CXX=clazy).