臭氧消毒洗衣机的优点有哪些?洗衣机离合器坏了有什么症状?
臭氧消毒洗衣机的优点有哪些?如今,健康成为了人们永恒关注的话题。除了吃得要健康外,穿着健康成了人们关
QVariant这个类很神奇,或者说方便。很多时候,需要几种不同的数据类型需要传递,如果用结构体,又不大方便,容器保存的也只是一种数据类型,而QVariant则可以统统搞定。
介绍 帮助文档上说:The QVariant class acts like a union for the most common Qt data types.。
QVariant 这个类型充当着最常见的数据类型的联合。QVariant 可以保存很多Qt的数据类型,包括QBrush、QColor、QCursor、QDateTime、QFont、QKeySequence、 QPalette、QPen、QPixmap、QPoint、QRect、QRegion、QSize和QString,并且还有C++基本类型,如 int、float等。
(资料图片仅供参考)
当然,如果支持的类型没有想要的,没关系,QVariant也可以支持自定义的数据类型。被QVariant存储的数据类型需要有一个默认的构造函数和一个拷贝构造函数。为了实现这个功能,首先必须使用Q_DECLARE_METATYPE()宏。通常会将这个宏放在类的声明所在头文件的下面:
Q_DECLARE_METATYPE(MyClass)
QVariant var;var.setValue(12);int data=var.toInt();或
QVariant var=12;int data=var.toInt();(2)对于不支持的类型,如自己定义的结构体。由于Qt都是基于元对象系统,故要在头文件里面要注册此类属于元类型。存储用到了QVariant QVariant::fromValue(const T &value) 或 void QVariant::setValue(const T &value)。获取用到了
T QVariant::value() const,在这之前一般要bool QVariant::canConvert(int targetTypeId) const先用进行判断,是否可以转换。例子如下:
.h文件声明
struct MyClass{ int id; QString name;};Q_DECLARE_METATYPE(MyClass).cpp文件定义
//存储数据 MyClass myClass; myClass.id=0; myClass.name=QString("LiMing"); data[0]=QString("ddd"); data[1]=123; data[3]=QVariant::fromValue(myClass); //获取数据 QString str=data.value(0).toString(); int val=data.value(1).toInt(); if(data[3].canConvert()) { MyClass myClass=data[3].value(); int id=myClass.id; QString name=myClass.name; } (3)保存指针,感觉这个比较强大,也比较容易用到。如
//保存 QVariant var=QVariant::fromValue((void*)event); //获取 QPaintEvent* e=(QPaintEvent*)var.value(); (4)还有种写法,用QVariant的构造函数QVariant(int typeId, const void *copy)。虽然不常用,特别是指针类型,即 QMetaType::VoidStar,和 QMetaType::QObjectStar,一般还是用fromValue。但是还是以存取QObject*为例补充下吧,
起码知道写法。
QObject* obj=new QObject; obj->setObjectName("myObj"); //保存 QVariant var=QVariant(QMetaType::QObjectStar,&obj); //提取 QObject* myobj=qvariant_cast(var); if(myobj!=NULL) qDebug()<objectName(); obj->deleteLater(); 【领 QT开发教程 学习资料, 点击下方链接莬费领取↓↓ ,先码住不迷路~】
点击这里:
关键词:
臭氧消毒洗衣机的优点有哪些?如今,健康成为了人们永恒关注的话题。除了吃得要健康外,穿着健康成了人们关
工人日报-中工网记者赵黎浩暮色起,街灯点亮云南边境城市夜间烟火。瑞丽街头,一家超市小店24小时营业,外
N海都全媒体记者汤先增最新消息!宁德市区凶案嫌疑人已被抓获!海都记者从宁德市公安局了解到,5月10日上午
新华社首尔5月9日电日本首相岸田文雄7日到访韩国,与韩国总统尹锡悦举行会谈。除了访问活动之外,迎接他的
Peanut:我的个人感觉告诉我,可能会碰到G2,不知道为什么,我们之前也录了视频,就像视频里出现的那样,我
四月种八月果,但从来都是栽树容易,育树难。如何让新栽树苗——“双品牌一体化”建设生根发芽、枝繁叶茂,
1、增值税专用发票税率没有下调,在2020年3月1日起至5月31日,小规模纳税人征收率为3%,下调为1%,小规模纳
1、win为例解决方法:开始-控制面板,打开控制面板。2、2、在控制面板中找到“电源选项”,点击进入。3、3
央视网消息(新闻联播):各地集中力量稳步推进重大项目建设,促投资、惠民生,推动经济高质量发展。今天(
时尚服饰的功能十分强大,既能让女生美得超乎想象又能让她们新潮又抢眼,我们可以根据自己的需要来选择服饰
今天来聊聊关于bmi是什么意思,limitedwarranty是什么意思的文章,现在就为大家来简单介绍下bmi是什么意思
日前,有消息称,新款一汽丰田卡罗拉将于5月份正式上市,新车最大升级是将会搭载第五代THSII混动系统。参考
一、离婚女方不给孩子抚养费违法吗离婚女方不给孩子抚养费违法,离婚后,不直接抚养一方应负担必要的生活费
日前,方正证券(行情601901,诊股)对上市公司2023年一季报进行分析并发布了策略专题报告。报告指出,2023年
5月9日,爱柯迪(600933)融资买入235 37万元,融资偿还152 76万元,融资净买入82 61万元,融资余额4841 21万元。
5月9日,工信部、生态环境部等五部门联合发布《关于实施汽车国六排放标准有关事宜的公告》(以下简称《公告
Copyright 2015-2022 现在双创网 版权所有 备案号:粤ICP备18023326号-5 联系邮箱:855 729 8@qq.com
随着全光网络越织越密 如何进一步增强消费者和产业界的“获得感”?
近年来,在5G和宽带双千兆牵引下,新项目、新试点、新应用层出不穷。随着全光网络越织越密,如何进一步增强消费者和产业界的获得感?湖北日
致敬老将!热爱可抵岁月漫长
<script src="http: tv people com cn img player v js">< script><script>showPlayer({id:" pvservice xml 202
微视频|字里藏情迎元宵
<script src="http: tv people com cn img player v js">< script><script>showPlayer({id:" pvservice xml 202