专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

QVariantMap和QVariant

  QVariant类型的放入和取出必须是相对应的,你放入一个int就必须按int取出,不能用toString(),Qt不会帮你自动转换。
  数据核心无非就是一个union,和一个标记类型的type:传递的是整数123,那么它union存储整数123,同时type标志Int;如果传递字符串,union存储字符串的指针,同时type标志QString。
  QVariant属于Qt的Core模块,属于Qt的底层核心之一,ActiveQt、QtScript、QtDeclarative等都严重依赖于QVariant。
  QVariant可以保存很多Qt的数据类型,包括QBrush、QColor、QCursor、QDateTime、QFont、QKeySequence、QPalette、QPen、QPixmap、QPoint、QRect、QRegion、QSize和QString,并且还有C基本类型,如int、float等。QVariant还能保存很多集合类型,如QMapQSTRING,QVariant,QStringList和QList。itemviewclasses,数据库模块和QSettings都大量使用了QVariant类,,以方便我们读写数据。
  QVariant也可以进行嵌套存储,例如1QMapQString,QVariantpearMap;2pearMap〔Standard〕1。95;3pearMap〔Organic〕2。25;45QMapQString,QVariantfruitMap;6fruitMap〔Orange〕2。10;7fruitMap〔Pineapple〕3。85;8fruitMap〔Pear〕pearMap;
  QVariant被用于构建QtMetaObject,因此是QtCore的一部分。当然,我们也可以在GUI模块中使用,例如QIconicon(open。png);QVariantvarianticon;otherfunctionQIconiconvariant。valueQIcon();
  我们使用了value()模版函数,获取存储在QVariant中的数据。这种函数在非GUI数据中同样适用,但是,在非GUI模块中,我们通常使用toInt()这样的一系列to。。。()函数,如toString()等。
  如果你觉得QVariant提供的存储数据类型太少,也可以自定义QVariant的存储类型。被QVariant存储的数据类型需要有一个默认的构造函数和一个拷贝构造函数。为了实现这个功能,首先必须使用QDECLAREMETATYPE()宏。通常会将这个宏放在类的声明所在头文件的下面(QDECLAREMETATYPE(MyClass)宏的位置:头文件,类声明后):1要使用一个自定义类型可用于QVariant中只需要在类声明的后面加上:QDECLAREMETATYPE(),2structMyClass3{4QStringname;5intage;6}7QDECLAREMETATYPE(MyClass)8910这样我们的类就可以像QMetaType::Type类一样使用没什么不同,有点不同的是使用方法上面只能这样使用。11MyClassmyClass;12QVariantv3QVairant::fromValue(myClass);1314v2。canConvertMyClass();15MyClassmyClass2v2。valueMyClass();
  例如:
  QDECLAREMETATYPE(BusinessCard)
  然后我们就可以使用:1BusinessCardbusinessCard;2QVariantvariantQVariant::fromValue(businessCard);3。。。4if(variant。canConvertBusinessCard()){5BusinessCardcardvariant。valueBusinessCard();6。。。7}
  由于VC6的编译器限制,这些模板函数不能使用,如果你使用这个编译器,需要使用qVariantFromValue(),qVariantValue()和qVariantCanConvert()这三个宏。
  如果自定义数据类型重写了和运算符,那么就可以直接在QDataStream中使用。不过首先需要使用qRegisterMetaTypeStreamOperators()。宏进行注册。这就能够让QSettings使用操作符对数据进行操作,例如qRegisterMetaTypeStreamOperators(BusinessCard);
  转自:http:blog。csdn。netzhangbinsijifengarticledetails50686753
  QVariant与自定义数据类型转换的方法
  在使用VC、Delphi编写用户界面程序的时候,经常会把对象与控件的data域进行绑定,便于程序运行中读写提高效率。然而在Qt编程中怎么实现这个功能呢?比如将一个用户自定义的结构体与QComboBox控件的data绑定?
  点击领取Qt学习资料视频教程链接
  Qt的联机帮助做的实在是差强人意,示例代码太少了。调试了半天,看到这篇文章给了我提示。主要步骤如下:
  1、将自定义数据类型使用QDECLAREMETATYPE宏进行声明,便于编译器识别。
  2、在插入对象的时候,声明QVariant对象,使用其setValue方法添加自定义对象。
  3、在读取的时候,采用QVariant对象的value方法返回自定义对象。
  示例代码如下:
  1、自定义结构体及元类型声明:1structMyStruct2{3inta;4charb〔10〕;5};6MyStructstu;78QDECLAREMETATYPE(MyStruct)
  2、在程序初始化中,给结构体初始化并存储到QComboBox的data域中:1bzero(stu,sizeof(MyStruct));stu就是上面声明的全局变量2赋初值3stu。a100;4strcpy(stu。b,Hello。n);5类型转换6QVariantv;7QStringssQString(1)。arg(stu。b);8v。setValue(stu);9保存到控件data中10uicboTestaddItem(ss,v);11uicboTestaddItem(aadkjf,0);
  3、读取的时候反过来处理,如下:1QVariantv;2从控件data域取得variant对象3vuicboTestitemData(0);4转换为自定义的结构体实例5MyStructsv。valueMyStruct();6printf(valued:sn,s。a,s。b);
  转自:http:blog。csdn。netderryzhangarticledetails5114491

关于肾病综合征你不知道的事很多病人都认为,我的尿蛋白转阴了,我的肾病综合征就痊愈了,实际上,在肾病综合征的过程中,高度的水肿和低蛋白血症和蛋白尿,我们要引起重视,比如说严重的水肿,它容易诱发肺水肿,诱发心衰大枣加它煮粥喝,补气养血安神助眠人们常说发脾气是肝火旺,但是也不一定。很多发脾气的人脉象很弱,这类人常有头晕气短,注意力不集中,胃脘嘈杂等表现。这是气血不足的表现。这种脾气不好,不能单纯凭借疏理肝气不能完全解决。转阴后有4个表现,提示身体并没有恢复,60岁以上老人要重视阳转阴是不是就完全康复了呢?很多人阳康后就开始洗头洗澡,又开始发烧咳嗽等,那么如何判断自己身体是否恢复呢?转阴后有这4个表现,提示身体并没完全恢复,尤其是老年人要注意。那转阴以后,好习惯管大事,坚持便后洗屁股能有效预防和治疗痔疮俗话说十人九痔,好多人都在为得了痔疮而苦恼,其实以我的亲身经历,认为大便后用清水洗屁股,能有效预防和治疗痔疮,同时对养成规律入厕改善大便形态预防便秘也很有帮助。我从小就肠胃不好,1为什么肝癌一发现即晚期?提醒身体出现两痣一痒,早做筛查!肝脏是人体的重要排毒器官,它也被称为人体的将军器官,一直默默无闻,任劳任怨的工作。最近几年在我们身边出现肝部疾病的人可能比较多,而且肝癌的发生率也一直高居不下,还有一种奇怪的现象,护肝就是护命!肝不好的人,这几类食物别再碰了!4类养肝食物建议多吃现代人每天肝工作肝学习肝游戏,真是太累了,真担心哪天会肝不动了!肝脏是人体最大的解毒器官,每天工作压力很大,如果不细心呵护,很容易出现问题。轻则出现脂肪肝,严重还可能会导致肝炎肝硬春节期间饮食要注意什么?做好这几点,过个平安健康年春节是我国最重要的传统节日之一,在这期间,亲朋好友团聚,应酬不断,给我们的肠胃造成了不小的压力,特别是一些高盐高油高脂等食物对身体造成不好的影响,再加上饮酒往往导致身体不适。营养师塌房!女子晒吴兴涵穿国足T恤隐婚表白老婆爱你!特别想你睡不着1月21日消息,此前足协杯决赛中,山东泰山队2比1逆转浙江队夺得足协杯3连冠。比赛中,一位女子大闹球迷看台,炮轰山东泰山球员吴兴涵骗钱骗感情。日前,该女子实名曝光吴兴涵,在社交媒体他俩,同框拥抱!第37次梅罗对决无关乎输赢,只关乎情怀,关乎享受比赛,关乎彼此尊重。北京时间1月20日凌晨,利雅得明星联队与大巴黎这场友谊赛让曼城4比2逆转热刺皇马巴萨出战国王杯都黯然失色。C罗脱WTT多哈挑战赛林诗栋蒯曼混双夺冠1月20日,林诗栋(左)蒯曼在赛后颁奖仪式上展示奖杯。新华社发(尼库摄)当日,在卡塔尔多哈进行的2023年WTT多哈挑战赛混合双打决赛中,中国组合林诗栋蒯曼以3比0战胜韩国组合林钟耗时5小时45分钟,大心脏穆雷澳网上演超级逆转穆雷生涯第11次完成输二追三。图新华社新京报讯(首席记者孙海光)北京时间1月20日晨,2023年澳大利亚网球公开赛迄今最精彩的一场比赛诞生了,35岁的穆雷以3比2超级大逆转科基纳基
篮协公布2022年篮球名人堂16人推举名单,11月将公布最终名单根据中国篮协官方消息,经过500位推举委员的举荐,16位中国篮球杰出人物进入2022年中国篮球名人堂推举名单。这份16人的名单将由中国篮球名人堂终审委员会进行审定,并从中产生10人山东省委组织部发布干部任前公示,两位副市长拟进一步使用根据党政领导干部选拔任用工作条例等有关规定,现将拟任职干部情况予以公示。张月波,男,汉族,1970年8月生,中央党校研究生,中共党员。现任青岛市副市长市公安局局长,拟进一步使用。朱金金缺阵郭艾伦1255,萨林杰献绝杀,辽宁7780不敌深圳队CBA季前赛,辽宁队对阵深圳队,这两支球队是CBA顶级强队,辽宁是卫冕冠军,本赛季基本保留原有主力阵容,深圳上赛季本来可以打进半决赛,但是由于沈梓捷内讧导致球队痛失好局,休赛季深圳17中5!状元缺陷暴露,火箭太幸运了,史密斯218下限保底全明星在今天结束的一场季前赛中,魔术以10299战胜马刺。本场比赛看点无疑是今年状元郎班切罗的表现,以及去年选秀大年的控卫萨格斯是否能打出高光表现。以全场来看萨格斯确实太普通了。相比去年山东第一胖王浩楠被曝出轨,减肥后抛弃原配,网友真不挑食山东第一胖王浩楠,被妻子爆料出轨并家暴,得知这个消息之后,网友们都十分震惊。王浩楠跟妻子于去年11月结婚,至今还不到一年时间,究竟是谁插足了两人的婚姻?王浩楠的出轨对象叫潘映婷,是CBA更新伤病报告胡金秋预计恢复12周曾凡博至少缺阵7周北京时间10月7日,202223赛季CBA常规赛第一阶段开赛在即。今日,CBA联盟官方更新伤病报告。该份伤病报告显示,上赛季CBA常规赛MVP胡金秋因腿部伤情预计康复12周,北京队中国U17国家男子足球队10比0获胜,两战进球19个北京时间7日中午12时,中国国少队在U17亚洲杯预选赛第二场比赛中以10比0的比分击败北马里亚纳群岛队。这样,两战过后,国少队的进球数已经达到19个,显示出了不错的攻击力。首场比赛迪巴拉阿莱格里和穆帅不同,但他们都会专注于比赛在欧联杯的比赛中,迪巴拉在比赛第34分钟打进点球,但罗马最终12不敌皇家贝蒂斯。赛后迪巴拉被问到与穆里尼奥和阿莱格里打交道有什么不同时,迪巴拉表示他和尤文图斯主帅阿莱格里看待事情的马克西15分钟狂砍21分无缘今日最佳球员!因为詹姆斯一战触底反弹今天NBA季前赛继续进行,众多球星都打出了好的表现,凯尔特人双探花伍德保罗纳恩沙梅特马克西米切尔等人的数据相当亮眼,不过要评选今日最佳球员的话,却是毫无悬念的。我们一起来看一下具体霍华德感觉没有球队会给我打球的机会我会考虑WWE直播吧10月6日讯今日,自由球员霍华德在AllTheSmoke节目中谈到了自己的状态。霍华德表示我想要打球,我喜欢比赛,这会是我的第19个赛季。我想要打球,但与此同时没有球队会给我肥强复盘总结,季前赛前两场,湖人角色球员有哪些惊艳表现?写了一个休赛期的球员分析,如今季前赛开始了,湖人的角色球员们表现如何呢?我们直接把结论说在前头这两场季前赛,湖人展现出的进步和新面貌是让人激动的尤其是防守端。一个数据能够说明湖人前
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网