• using of Qvariant


    #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();
    }






















  • 相关阅读:
    js this
    python词云的制作方法
    flask表单标签
    scrapy使用PhantomJS爬取数据
    flask连接sqlalchemy数据库,实现简单的登录跳转功能
    useful tools and website
    sqlalchemy精华版
    flask连接数据库mysql+SQLAlchemy
    flask框架get post方式
    flask基础知识
  • 原文地址:https://www.cnblogs.com/countryboy666/p/11037507.html
Copyright © 2020-2023  润新知