返回顶部

QVariant简单使用

  QVariant可以存储各种数据类型,支持所有QMetaType::Type声明的类型,也支持自定义的数据类型,此时需要使用QDECLARE_METATYPE(自定义数据类型)注册,一般在头文件中注册。

  非内置的QMetaType要在信号与槽中使用,必须使用qRegisterMetaType。

常用函数

  1. 存取数据

    1.1. 支持的类型,可以直接存取,可以使用to*()函数输出为指定的类型;

    1.2. 不支持的类型,可以使用fromValue()或setValue()函数存储,使用value()函数获取数据。

  2. 判断是否可以转换

   使用canConvert函数判断是否可以转换。

      示例:data.canConvert<自定义数据类型>。

  3. 保存指针

    示例:    

    QVariant var = QVariant::fromValue((void*)event);
    QPaintEvent* e = (QPaintEvent*)var.value<void*>();

  

 

posted @ 2021-03-05 11:32  Zoya23  阅读(1337)  评论(0)    收藏  举报