Hi there, I can create a valid QVariant that contains a MyObject pointer with just the class name (ie, QString("MyObject")) and no access to the class declaration. MyObject is derived from QObject.
This QVariant has the following properties: - type() == QVariant::UserType - userType() == QMetaType::type("MyObject*") The consumer of this variant, which has access to the original class declaration, can obtain a valid pointer with variant.value<MyObject*>() Now I need to create a QVariant that contains a QList<MyObject*> with just the class name (ie, QString("MyObject")) and no access to the class declaration. Again the resulting variant needs to have the following properties: - type() == QVariant::UserType - userType() == QMetaType::type("QList<MyObject*>") My question is how do I create and "populate" such a variant without using template involving MyObject*? QSequentialIterable allows one to iterate on such a variant, but only provide a const access, so it is useless in my case. I seem to have found a solution, but i'm not sure it is correct and safe: QList<QObject*> list; // populate the list with MyObject* items int desiredMetaTypeId = QMetaType::type("QList<MyObject*>") return QVariant(desiredMetaTypeId, &list); Does anyone know a "proper" solution for this? Or is my approach correct and safe? Thanks in advance, Chris _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest