QObject* obj=new QObject; obj->setObjectName("myObj"); //保存 QVariant var=QVariant(QMetaType::QObjectStar,&obj); //提取 QObject* myobj=qvariant_cast<QObject*>(var); if(myobj!=NULL) qDebug()<<myobj->objectName(); obj->deleteLater();
还有种写法,用QVariant的构造函数QVariant(int typeId, const void *copy)。虽然不常用,特别是指针类型,即 QMetaType::VoidStar,和 QMetaType::QObjectStar,一般还是用fromValue。但是还是以存取QObject*为例补充下吧,
起码知道写法