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).