Example:
1. 聲明自定義類型可用於QVariant,類也能用,也是這樣,QT的基本數據類型不用聲明就可以用,而且存入是什么類型,拿出來還是什么類型
#include <QMetaType>// Important,這個頭文件
#include <iostream>
struct Student{
int id;
std::string name;
std::string email;
};
Q_DECLARE_METATYPE(Student)//和 這句注冊?聲明的話
2. 轉換
QVariant variant = QVariant::fromValue(Student());//從 student 的對象轉化過來的 QVariant 對象
if(variant.canConvert<Student>()){//判斷防止空指針
Student stu = variant.value<Student>();//用value方法帶上轉換的類型就是了
}