Je suis novice en matière de QT et de QML. J'ai une classe qui instancie des sous-classes. J'aimerais exposer les méthodes de ces sous-classes à mon interface utilisateur par le biais d'une liaison QML.
Par exemple
class MainClass: QObject
{
Q_OBJECT
Subclass subclass;
MainClass();
}
class Subclass:QObject
{
Q_Object
Subclass();
public slots:
void someMethod();
}
Main.C
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQuickView *view = new QQuickView;
MainClass mainclass;
view->rootContext()->setContextProperty("MainClass", &mainClass);
view->setSource(QUrl("qrc:/main.qml"));
view->show();
}
Dans ce cas, j'aimerais accéder à mainclass.subclass.someMethod() depuis l'interface utilisateur QML.
Existe-t-il une bonne façon de procéder ? Dois-je fournir des méthodes d'enveloppe dans MainClass pour chaque fonction/propriété à laquelle j'aimerais accéder ?