QVariant类 万能数据类型
来源:互联网 发布:德国做律师 知乎 编辑:程序博客网 时间:2024/06/05 06:32
QVariant 万能数据类型为各种数据类型之间的转换提供了可能。
使C++的强数据类型可能成为了弱数据类型。
Qt下的QVariant只支持已注册的数据类型,可以将自定义的类等注册,使得QVariant可以识别自定义的类。
myStructor c;QVariant v;v.setValue (c); //将会错误--Qvariant还不认识myStructor呢。Q_DECLARE_METATYPE(myStructor)。使用Q_DECLARE_METATYPE在 **全局中** 注册 v.value < myStructor >(); 取值方法
例子:将一个指针赋予QVariant--可能有需要将一个指针赋予树型列表控件(QTreeWidget)中一个条目--点击此条目获取指针对数据进行处理--而无须通过查找来取得数据--缩短处理时间。用int指针作为例子--QVariant不支持此类型必须先注册。ifndef __XXX__define __XXX__Q_DECLARE_METATYPE(int*);endif附带记下如何在QTreeWidget控件中附加数据增加ItemQTreeWidgetItem* newItem = new QTreeWidgetItem;...增加newItem到treeWidget中...int* itemVal = new int (123);QVariant Var;Var.setValue (testVal); // 已注册了int*--正确编译newItem->setData (0, 0, Var); //newItem的第一列附加了Var--即指向itemVal的指针 //第二个参数为role角色的意思--我也不懂啥意思点击某个条目获取对应的数据on_treeWidget_click (){ ...取得选择的条目-curItem... //Data()的参数和当时设置数据的参数一样,value()是取得var的数据 int* ptr = curItem->Data (0, 0).value < int* >(); ...对ptr进行处理...}
转载自 http://blog.chinaunix.net/uid-10554711-id-2948398.html
0 0
- QVariant类 万能数据类型
- 万能数据类型QVariant类
- QVariant万能数据类型联合
- QVariant类
- QVariant类
- QVariant类
- QVariant类
- QVariant类
- QVariant类
- QVariant类学习
- Qt QVariant类
- QVariant类学习
- QVariant类学习
- qvariant类使用
- QVariant类学习
- QVariant
- QVariant
- QVariant
- iOS 图片上传的两种方式
- IOS并发编程指南:Dispatch Queue任务执行与Dispatch Source
- javaScript创建隐藏的form远程请求
- 1881: 蛤玮的机房 郑轻第八届程序设计大赛
- ubuntu 登陆root权限
- QVariant类 万能数据类型
- ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义
- Spring scope属性详解
- bin文件夹关于dll引用的注意事项
- oracle with as 语句
- charles抓取https请求包
- git问题记录
- c++中冒号(:)和双冒号(::)的区别与用法
- PHP典型扩展模块安装