Qt自定义类型的注册与使用
2017-10-31 14:26
288 查看
使用C++时,经常会自定义各种类型的结构体。而在Qt中,用信号传递新的类型时,这时就需要将这种类型进行注册了。
在使用Qt进行应用程序开发时,经常要自定义数据类型,而且在需要的时候还要把这些数据放到QVariant中去。因为QVariant是一个接受绝大部分类型的数据类型。为了达到这个目的,就必须使用Q_DECLARE_METATYPE。
下面以一段简单的代码说明Q_DECLARE_METATYPE的用法和注意点。
通过Q_DECLARE_METATYPE声明后,就可以让自定义的类型设置到QVariant。
QVariant这种类型的使用可以去网上查。
struct TAG_INFO
{
QString qstrip;
QString qstrgate;
QString qstrtype;
QString qstrversion;
int ntype;
int ndoors;
};
Q_DECLARE_METATYPE(TAG_INFO);
TAG_INFO
tag;
结构体转QVariant
:
QVariant::fromValue(tag);
QVariant
qavr;
QVariant
转结构体:
TAG_INFO tag = qavr.value<TAG_INFO>()
这样的相互转化,提好用的,做个笔记记录下来。
在使用Qt进行应用程序开发时,经常要自定义数据类型,而且在需要的时候还要把这些数据放到QVariant中去。因为QVariant是一个接受绝大部分类型的数据类型。为了达到这个目的,就必须使用Q_DECLARE_METATYPE。
下面以一段简单的代码说明Q_DECLARE_METATYPE的用法和注意点。
通过Q_DECLARE_METATYPE声明后,就可以让自定义的类型设置到QVariant。
QVariant这种类型的使用可以去网上查。
struct TAG_INFO
{
QString qstrip;
QString qstrgate;
QString qstrtype;
QString qstrversion;
int ntype;
int ndoors;
};
Q_DECLARE_METATYPE(TAG_INFO);
TAG_INFO
tag;
结构体转QVariant
:
QVariant::fromValue(tag);
QVariant
qavr;
QVariant
转结构体:
TAG_INFO tag = qavr.value<TAG_INFO>()
这样的相互转化,提好用的,做个笔记记录下来。
相关文章推荐
- Qt使用自定义类型信号槽注册问题
- Qt实例分析——C++自定义类型的属性在QML的使用
- Qt 线程间信号槽传递自定义数据类型(qRegisterMetaType的使用)
- Qt-信号和槽中使用自定义数据类型
- 使用C#自动注册自定义文件类型
- QT 信号槽connect中解决自定义数据类型或数组作为函数参数的问题——QT qRegisterMetaType 注册MetaType——关键:注册自定义数据类型或QMap等容器类
- Qt-信号和槽中使用自定义数据类型
- 在QT的信号和槽中使用自定义类型
- 在QT的信号和槽中使用自定义类型
- 如何在Qt中使用自定义数据类型
- 在QT的信号和槽中使用自定义类型
- 如何在Qt中使用自定义数据类型 (zz)
- 如何在Qt中使用自定义数据类型
- 使用C#自动注册自定义文件类型
- QT 定义自己的类型 注册和使用
- Qt学习:线程间共享数据(使用信号槽传递数据,必须提前使用qRegisterMetaType来注册参数的类型)
- 如何在Qt中使用自定义数据类型
- QT注册自定义类型
- 如何在Qt中使用自定义数据类型
- 使用CollectionBase自定义强类型集合类