码迷,mamicode.com
首页 > 其他好文 > 详细

using of Qvariant

时间:2019-06-17 01:05:59      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:fun   name   min   region   rect   UNC   val   struct   col   

#include <QApplication>
#include <QDebug>
#include <QPaintEvent>
//The QVariant class acts like a union for the most common Qt data types.。
//Q_DECLARE_METATYPE(class or struct)
struct Myclass
{
    int id;
    QString name;

};
//QVariant 可以保存很多Qt的数据类型,包括QBrush、QColor、QCursor、QDateTime、QFont、QKeySequence、 QPalette、QPen、QPixmap、QPoint、QRect、QRegion、QSize和QString,并且还有C++基本类型,如 int、float等。
//QVariant也可以支持自定义的数据类型  使用Q_DECLARE_METATYPE()宏
Q_DECLARE_METATYPE(Myclass)


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //  var is object
    QVariant var;
    var.setValue(12);
    int da = var.toInt();
    qDebug()<<da;

    var = 19;
    QString dae=var.toString();
    qDebug()<<dae;
    qDebug()<<(int)(var.;

    //can conserve  different types
    QVector<QVariant> data(3);
    Myclass myclass;
    myclass.id = 0;
    myclass.name = QString("Liming");

    data[0] = QString("dd");
    data[1] = 123;
    data[2] = QVariant::fromValue(myclass);


    QString str = data.value(0).toString();
       qDebug()<<str;
    int val= data.value(1).toInt();
        qDebug()<<val;
        //model function
    if(data[2].canConvert<Myclass>())
    {
        Myclass myclass = data[2].value<Myclass>();
        int id = myclass.id;
        QString name = myclass.name;

      qDebug()<<id<<name;
    }
    //conserve  variable
    //QVariant var_p = QVariant::fromValue((void*)event);
    //get
   // QPaintEvent* e=(QPaintEvent*)var_p.value<void*>();


    return a.exec();
}






















using of Qvariant

标签:fun   name   min   region   rect   UNC   val   struct   col   

原文地址:https://www.cnblogs.com/countryboy666/p/11037507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!