答案:可以
源码如下,构造可以传入Type类型的参数

    enum Type {Invalid = QMetaType::UnknownType,Bool = QMetaType::Bool,Int = QMetaType::Int,UInt = QMetaType::UInt,LongLong = QMetaType::LongLong,ULongLong = QMetaType::ULongLong,Double = QMetaType::Double,Char = QMetaType::QChar,Map = QMetaType::QVariantMap,List = QMetaType::QVariantList,String = QMetaType::QString,StringList = QMetaType::QStringList,ByteArray = QMetaType::QByteArray,BitArray = QMetaType::QBitArray,Date = QMetaType::QDate,Time = QMetaType::QTime,DateTime = QMetaType::QDateTime,Url = QMetaType::QUrl,Locale = QMetaType::QLocale,Rect = QMetaType::QRect,RectF = QMetaType::QRectF,Size = QMetaType::QSize,SizeF = QMetaType::QSizeF,Line = QMetaType::QLine,LineF = QMetaType::QLineF,Point = QMetaType::QPoint,PointF = QMetaType::QPointF,RegExp = QMetaType::QRegExp,RegularExpression = QMetaType::QRegularExpression,Hash = QMetaType::QVariantHash,EasingCurve = QMetaType::QEasingCurve,Uuid = QMetaType::QUuid,ModelIndex = QMetaType::QModelIndex,PersistentModelIndex = QMetaType::QPersistentModelIndex,LastCoreType = QMetaType::LastCoreType,Font = QMetaType::QFont,Pixmap = QMetaType::QPixmap,Brush = QMetaType::QBrush,Color = QMetaType::QColor,Palette = QMetaType::QPalette,Image = QMetaType::QImage,Polygon = QMetaType::QPolygon,Region = QMetaType::QRegion,Bitmap = QMetaType::QBitmap,Cursor = QMetaType::QCursor,KeySequence = QMetaType::QKeySequence,Pen = QMetaType::QPen,TextLength = QMetaType::QTextLength,TextFormat = QMetaType::QTextFormat,Matrix = QMetaType::QMatrix,Transform = QMetaType::QTransform,Matrix4x4 = QMetaType::QMatrix4x4,Vector2D = QMetaType::QVector2D,Vector3D = QMetaType::QVector3D,Vector4D = QMetaType::QVector4D,Quaternion = QMetaType::QQuaternion,PolygonF = QMetaType::QPolygonF,Icon = QMetaType::QIcon,LastGuiType = QMetaType::LastGuiType,SizePolicy = QMetaType::QSizePolicy,UserType = QMetaType::User,LastType = 0xffffffff // need this so that gcc >= 3.4 allocates 32 bits for Type};QVariant() Q_DECL_NOTHROW : d() {}~QVariant();QVariant(Type type);

那么精度会损失吗?不会

    QVector<QPointF> poss;poss.push_back(QPointF(11.999999, 11.009789999));poss.push_back(QPointF(22.5677899, 22.00123499));poss.push_back(QPointF(33.884455, 33.776655));QVariant vecotrPos = QVariant::fromValue(poss);//可转换为QVector<QPointF>if (vecotrPos.canConvert<QVector<QPointF>>()) {QPolygonF pf = vecotrPos.value<QVector<QPointF>>();qDebug() << "QVariant to QVector<QPointF>" << pf;} else {qDebug() << "can not convert QVector<QPointF>";}//不能转换为QPolygonFif (vecotrPos.canConvert<QPolygonF>()) {qDebug() << "QVariant to QVector<QPointF>" << vecotrPos.value<QPolygonF>();} else {qDebug() << "can not convert QPolygonF" << vecotrPos.value<QPolygonF>();}

打印如下

QVariant to QVector<QPointF> QPolygonF(QPointF(12,11.0098)QPointF(22.5678,22.0012)QPointF(33.8845,33.7767))
can not convert QPolygonF QPolygonF()

QVariant可以存储的QPolygonF吗?相关推荐

  1. Qt/C++ 借助QVariant实现可存储通用类型的容器

    1. 背景 在项目开发过程中,我们可能会遇到这么一种场景:某个或某几个软件组件可以产生许多不同类型的数据,无论是出于性能的考虑,或者是接口简洁性的考虑,这些数据需要被一次性塞到一个类似于数据库的数据容 ...

  2. Qt QVariant详细用法

    一.简介 QVariant可以存储各种数据类型,QVariant行为类似于C/C++的union, 但在Qt中比union强大很多, QVariant内置支持所有QMetaType::Type里声明的 ...

  3. Qt学习之路(51): QByteArray和QVariant

    转:http://devbean.blog.51cto.com/448512/276235 前面我们在介绍QString的最后部分曾经提到了QByteArray这个类.现在我们就首先对这个类进行介绍. ...

  4. QVariant类及QVariant与自定义数据类型转换的方法

    这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型"擦除"的作用.比如我们的 table单元格可以是string,也可以是int ...

  5. QT QVariant类数据类型使用

    QT QVariant类数据类型使用 1. QVariant 类用于封装数据成员的类型及取值等信息,该类类似于 C++ 共用体 union ,一个QVariant 对象,一次只能保存一个单一类型的值. ...

  6. QString, QByteArray, 和 QVariant用法详解

    转载地址:http://blog.chinaunix.net/uid-24205507-id-3262013.html QString, QByteArray, 和 QVariant这三个类和容器有许 ...

  7. QVariant的使用

    在有些情况下,我们希望把数据存储在一个变量中.例如,我有一个数组,既希望存整数,又希望存浮点数,还希望存string. 想了一个方法,创建一个object类,这是一个很大的类,里面几乎包含了所有类型的 ...

  8. Qt 中 QVariant 使用总结

    背景 QVariant 可以存储各种数据类型,包括 Qt 中所有内置类型.C++ 中所有基本数据类型,以及自定义类型. 构造函数 QVariant variant_bool(false); QVari ...

  9. qt -- QVariant 类

    1.QVariant 类用于封装数据成员的类型及取值等信息,该类类似于 C++共用体 union,一个QVariant 对象,一次只能保存一个单一类型的值.该类封装了 Qt 中常用的类型,对于 QVa ...

最新文章

  1. js前端和后台数据交互-----前端传字符串,后台控制器将其转化为集合
  2. Python基础教程:获取list中指定元素的索引
  3. 不让复制是不可能的----js获取选中文字
  4. 游标、过程、函数、包
  5. python oserror路径not found_python基本操作-文件、目录及路径
  6. Java他们其中一个IO(一)
  7. CMU 15-213 Introduction to Computer Systems学习笔记(3) Floating Point
  8. React Native 制作iOS静态库供其他原生项目使用
  9. 知识图谱下图神经网络、图计算、图数据、图数据库未来发展趋势如何?
  10. 服务器系统2016开始菜单,大法将致:将Windows Server 2016打造成个人办公系统,WIN2016打造成超级WIN10,WIN2016优化设...
  11. Widget-苹果.谷歌和诺基亚着迷的网络新思维
  12. Uniswap社区3号提案近200万美元预算昨日到账,这笔钱要怎么花?
  13. 简述Spring、SpringMVC、SpringBoot关系?
  14. 推荐算法工程师,其实是个算命先生!
  15. 人机协同变电站智能化发展,嵌入式为电网安全护航
  16. 重庆NK十日行-知识点汇总
  17. Java中的互斥锁介绍
  18. 鞋城商城-servlet+jsp
  19. 【ns-3】添加nr(5G-LENA)模块
  20. 【搬家】WebChat网络聊天室开发笔记

热门文章

  1. PostgreSql数据库字段小写问题
  2. 安装WebGoat步骤
  3. mapbox symbols 层级设置_Mapbox 地图样式规范
  4. Error type 三: Activity Class {.} dose not exist【解决方案】
  5. 智慧校园系统平台实现校内导航资产管线一体化管理
  6. 计算算法的时间复杂度(例题)
  7. 安卓入门基础(九)-对应用结构进行分析
  8. Java8中map与flatMap用法
  9. Nagios(十)—— 监控路由器
  10. 开都河畔白色蔷薇花之恋