There are some things that just always happen in main.cpp, this is particularly 
true for QML stuff that happens for engine initialization.

It would be cool if:
1. There was a wizard/automated way to add a QObject-derived class to the main.
1a. Insert #include <QQmlEngine> if needed
1b. insert qmlRegisterType<MyObject>("com.mycompany.%PROJECTNAME%", 1, 0, 
"MyObject");
2. Support the other QML registration functions qmlRegisterSingletonType
3. Register Enums and the like.

There may be other non-QML template stuff appropriate in main. I don't know if 
this is hard or not but if there was a section:

/* Begin QtCreator Wizard Generated code. Do not edit, code managed by 
QtCreator */
 qmlRegisterType<MyObject>("com.mycompany.%PROJECTNAME%", 1, 0, "MyObject");
/* End QtCreator Wizard Generated code */

I also saw on stack exchange 
https://stackoverflow.com/questions/20089196/how-to-access-c-enum-from-qml
where the example has a static declareQML() function that registers itself. I 
don't know if this is preferred or not. Seems like more code and would make 
something like this harder. But if that is to continue, maybe have a thing in 
the class creation wizard to do that, or use that as the place to trigger the 
qmlRegisterType in main.cpp?

_______________________________________________
Qt-creator mailing list
Qt-creator@qt-project.org
https://lists.qt-project.org/listinfo/qt-creator

Reply via email to