博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt Q_DECLARE_METATYPE说明——让自定义的类型设置到QVariant
阅读量:4542 次
发布时间:2019-06-08

本文共 1072 字,大约阅读时间需要 3 分钟。

在使用Qt进行应用程序开发时,经常要自定义数据类型,而且在需要的时候还要把这些数据放到QVariant中去。因为QVariant是一个接受绝大部分类型的数据类型。为了达到这个目的,就必须使用Q_DECLARE_METATYPE。

 

下面以一段简单的代码说明Q_DECLARE_METATYPE的用法和注意点。

#include 
#include
struct struct1{ int a; double b;}; struct struct2{ struct1 s; int c;}; Q_DECLARE_METATYPE(struct1) //struct1与struct2 谁先谁后,没有影响Q_DECLARE_METATYPE(struct2) int main(int argc, char *argv[]){ QApplication a(argc, argv); struct1 v1 = {
1, 2.0}; QVariant var1; var1.setValue(v1); if (var1.canConvert
()) //判断能否转化为相应类型 { struct1 v11 = var1.value
(); } struct2 v2 = {
{
2, 3.0}, 5}; QVariant var2; if (var2.canConvert
()) { var2.setValue(v2); struct2 v22 = var2.value
(); } return a.exec();}

通过Q_DECLARE_METATYPE声明后,就可以让自定义的类型设置到QVariant。

(注:关于Q_DECLARE_METATYPE和Q_DECLARE_METATYPE相关,以后还会继续增加。。。)

转自:http://www.cnblogs.com/braver/articles/1938774.html

转载于:https://www.cnblogs.com/liushui-sky/p/5787733.html

你可能感兴趣的文章
vs2010 单文档MFC 通过加载位图文件作为客户区背景
查看>>
增加Android模拟器的内存
查看>>
python引入导入自定义模块和外部文件--转载Sumomo的博客
查看>>
C#微信开发之旅(一):前言
查看>>
在存储过程中执行3种oracle循环语句
查看>>
keepalived和lvs实现mysql读负载均衡
查看>>
mysql基础知识-操作表数据
查看>>
MS SQLSERVER 第三天
查看>>
appium安装与简单使用
查看>>
《CAP定理》
查看>>
Java类成员(成员变量和方法)的覆盖与隐藏归纳
查看>>
Maven安装及使用-超级图文初级篇-
查看>>
提高利用运行(安装)内存
查看>>
Tensorflow中使用CNN实现Mnist手写体识别
查看>>
使DIV相对窗口大小左右拖动始终水平居中
查看>>
08 ListView 优化
查看>>
sql 区分大小写查询
查看>>
XML理解
查看>>
p1184高手之在一起
查看>>
js中的Math对象
查看>>