собственного класса, унаследованного от QObject, устанавливается ли автоматически его parent (исходя из структуры файла .qml)? И как его можно назначить, если он не устанавливается?
устанавливается автоматически
Но только при наличии конструктора, который принимает QObject*?
https://doc.qt.io/qt-5/qtqml-cppintegration-data.html#data-ownership
И всё-таки прошу направить куда надо ещё раз :) Есть свой класс, доступный из QML. В QML объект этого класса создается внутри Window, однако при отладке внутри конструктора QObject* parent == 0 (с explicit перед конструктором и без него). Исходя из моих соображений, по хорошему объект класса, который создается из QML, должен иметь родителя (к примеру, того же Window), но почему там nullptr, я не понимаю
В qml свой garbage collector и свои родовидовые отношения. Если у qobject будет не нулевой parent его qml engine никогда не удалит.
Обсуждают сегодня