Qt QVariant 與 自定義類型轉換的方法


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方法帶上轉換的類型就是了
}

reference


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM