When data is transferred from C++ to QML, the ownership of the data always remains with C++. The exception to this rule is when a QObject is returned from an explicit C++ method call: in this case, the QML engine assumes ownership of the object, unless the ownership of the object has explicitly been set to remain with C++ by invoking QQmlEngine::setObjectOwnership() with QQmlEngine::CppOwnership specified.
c'est le moteur QML qui a l'ownership de mon instance de foo, et donc qui le libèrera le moment venu ? C'est bien ça ?
Edit : petite précision : pour plein de raison qui ne sont malheureusement pas de mon fait : Qt 4.8.
Marsh Posté le 17-02-2016 à 11:13:29
Hello
Je suis sur un projet C++ / QML depuis quelques mois. Ceci dit, le C++ et le QML, pour moi, c'est nouveau.
Tout d'abord, un exemple de code (heu ... pseudo-code, j'ai pas compilé, mais c'est l'idée)
Depuis le QML, je serai ainsi capable d'appeler la méthode bar::getFoo(). Elle me renverra un nouvel objet foo fraichement initialisé.
Ma question : comment je libère la mémoire ? Je ne delete jamais mon objet ?
Si je comprends bien ça : http://developer.ubuntu.com/api/qm [...] tion-data/
When data is transferred from C++ to QML, the ownership of the data always remains with C++. The exception to this rule is when a QObject is returned from an explicit C++ method call: in this case, the QML engine assumes ownership of the object, unless the ownership of the object has explicitly been set to remain with C++ by invoking QQmlEngine::setObjectOwnership() with QQmlEngine::CppOwnership specified.
c'est le moteur QML qui a l'ownership de mon instance de foo, et donc qui le libèrera le moment venu ? C'est bien ça ?
Edit : petite précision : pour plein de raison qui ne sont malheureusement pas de mon fait : Qt 4.8.
Message édité par kao98 le 17-02-2016 à 11:22:11
---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98