Ich verwende QML zum ersten Mal und habe eine harte Zeit, um meinen Code zwischen der Kontrolle und den Business-Schichten organisiert zu bekommen.QML-Steuerelement und Business-Schichten
In einem sehr bodenständig Art und Weise, sind alle meine Ereignisse sollen ++ Steuerschicht auf eine C gesendet werden (eine C++ Klasse MyController, die von QObject erbt genannt). Jetzt MyController soll über die Business-Schicht wissen (sagen, es ist eine C++ - Klasse namens MyBusiness) und rufen Sie die entsprechenden Methoden.
Mein MyBusiness ist eigentlich eine komplexe Ansammlung von niedrigeren Niveau Klassen, die ich zusammen in main.cpp setzen.
Früher war ich mit QtWidget und ich konnte MyBusiness über diese komplexe Aggregation oben schaffen MyController erwähnt schaffen und MyBusiness zu MyController es schaffen, seine Arbeit zu tun.
nun wegen QML der Arbeitsweise, MyController tatsächlich auf QML (via QML Registrierung) ausgesetzt ist und MyController Q_INVOKABLE Funktionen werden von QML genannt und sollte wiederum Aufruf MyBusiness Funktionen.
Aber MyController nun tatsächlich in QML geschaffen, so bin ich nicht mehr in der Lage MyController wissen zu lassen MyBusiness.
Was ist die beste Praxis in meinem Fall?
Betrachten Sie auch ein C++ - Singleton als QML-Singleton zu publizieren und dann explizit in QML zu verbinden: 'MyController {business: MyBusiness; } '. – Velkan
Guter Punkt, danke! – arennuit