显然,即使对象与现有父对象分离并附加到新父对象,当旧的父对象被销毁时,对象也是如此。
首先想到的解决方案是在持久化上下文中创建对象。但是,动态范围属性不适用于它。这对我的用例至关重要。如果对象不在它所属的对象的上下文中,并且父对象发生更改,则无法运行。此外,即使目标对象具有函数,也无法再调用函数,因为QML attempted to evaluate a function in an invalid context
。
尝试诉诸QQmlEngine::setContextForObject()
和QQmlEngine::contextForObject()
只是为了发现一旦设置,就无法重置上下文。
那么,有什么新鲜的想法吗?