QVariant可以存储的QPolygonF吗?
答案:可以
源码如下,构造可以传入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吗?相关推荐
- Qt/C++ 借助QVariant实现可存储通用类型的容器
1. 背景 在项目开发过程中,我们可能会遇到这么一种场景:某个或某几个软件组件可以产生许多不同类型的数据,无论是出于性能的考虑,或者是接口简洁性的考虑,这些数据需要被一次性塞到一个类似于数据库的数据容 ...
- Qt QVariant详细用法
一.简介 QVariant可以存储各种数据类型,QVariant行为类似于C/C++的union, 但在Qt中比union强大很多, QVariant内置支持所有QMetaType::Type里声明的 ...
- Qt学习之路(51): QByteArray和QVariant
转:http://devbean.blog.51cto.com/448512/276235 前面我们在介绍QString的最后部分曾经提到了QByteArray这个类.现在我们就首先对这个类进行介绍. ...
- QVariant类及QVariant与自定义数据类型转换的方法
这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型"擦除"的作用.比如我们的 table单元格可以是string,也可以是int ...
- QT QVariant类数据类型使用
QT QVariant类数据类型使用 1. QVariant 类用于封装数据成员的类型及取值等信息,该类类似于 C++ 共用体 union ,一个QVariant 对象,一次只能保存一个单一类型的值. ...
- QString, QByteArray, 和 QVariant用法详解
转载地址:http://blog.chinaunix.net/uid-24205507-id-3262013.html QString, QByteArray, 和 QVariant这三个类和容器有许 ...
- QVariant的使用
在有些情况下,我们希望把数据存储在一个变量中.例如,我有一个数组,既希望存整数,又希望存浮点数,还希望存string. 想了一个方法,创建一个object类,这是一个很大的类,里面几乎包含了所有类型的 ...
- Qt 中 QVariant 使用总结
背景 QVariant 可以存储各种数据类型,包括 Qt 中所有内置类型.C++ 中所有基本数据类型,以及自定义类型. 构造函数 QVariant variant_bool(false); QVari ...
- qt -- QVariant 类
1.QVariant 类用于封装数据成员的类型及取值等信息,该类类似于 C++共用体 union,一个QVariant 对象,一次只能保存一个单一类型的值.该类封装了 Qt 中常用的类型,对于 QVa ...
最新文章
- js前端和后台数据交互-----前端传字符串,后台控制器将其转化为集合
- Python基础教程:获取list中指定元素的索引
- 不让复制是不可能的----js获取选中文字
- 游标、过程、函数、包
- python oserror路径not found_python基本操作-文件、目录及路径
- Java他们其中一个IO(一)
- CMU 15-213 Introduction to Computer Systems学习笔记(3) Floating Point
- React Native 制作iOS静态库供其他原生项目使用
- 知识图谱下图神经网络、图计算、图数据、图数据库未来发展趋势如何?
- 服务器系统2016开始菜单,大法将致:将Windows Server 2016打造成个人办公系统,WIN2016打造成超级WIN10,WIN2016优化设...
- Widget-苹果.谷歌和诺基亚着迷的网络新思维
- Uniswap社区3号提案近200万美元预算昨日到账,这笔钱要怎么花?
- 简述Spring、SpringMVC、SpringBoot关系?
- 推荐算法工程师,其实是个算命先生!
- 人机协同变电站智能化发展,嵌入式为电网安全护航
- 重庆NK十日行-知识点汇总
- Java中的互斥锁介绍
- 鞋城商城-servlet+jsp
- 【ns-3】添加nr(5G-LENA)模块
- 【搬家】WebChat网络聊天室开发笔记