I gave him following sample.Posting same sample in hope it will help others as well.
#include <QCoreApplication> #include <QPoint> #include <QVariant> class MyStruct { public: QString name; QString id; QPoint point; }; Q_DECLARE_METATYPE(MyStruct) int main(int argc, char *argv[]) { qRegisterMetaType<MyStruct>("MyStruct"); MyStruct test1; test1.name="test"; test1.id = "testid"; test1.point=QPoint(100,100); QVariant v; v.setValue<MyStruct>(test1); MyStruct test2 =v.value<MyStructl>(); }
If you need to serialize this variant than you will need to provide serialization method for custom class and also need to register them with metatype system using qRegisterMetaTypeStreamOperators.
No comments:
Post a Comment