其他分享
首页 > 其他分享> > Qt元类型

Qt元类型

作者:互联网

#include
1.Q_DECLARE_METATYPE
使用Q_DECLARE_METATYPE标记自定义类型,可以让QMetaType查询到类型,也可以让QVariant识别。
#include
struct MyStruct {
QString name;
QString color;
};
Q_DECLARE_METATYPE(MyStruct)
MyStruct myStruct;
QVariant variant;
variant.setValue(myStruct); // 不使用Q_DECLARE_METATYPEQ标记的自定义类型会出现编译错误。
MyStruct myStruct2 = variant.value();

2.qRegisterMetaType
在main函数中使用qRegisterMetaType注册自定义类型到元对象系统中,可在跨线程的信号槽中进行参数传递。
int main(int argc, char *argv[]) {

qRegisterMetaType(“MyStruct”);

return 0;
}

标签:Qt,自定义,METATYPE,variant,MyStruct,qRegisterMetaType,类型,DECLARE
来源: https://blog.csdn.net/youngauthor/article/details/121069733