C++ typedef中的自定义类型作为Qt元类型
我有一个简单类型声明为C++ typedef中的自定义类型作为Qt元类型,c++,qt,C++,Qt,我有一个简单类型声明为 typedef uint64_t Hash; 如何将此类型用于Qt信号/插槽结构 由于您的typedef是一种基本类型,因此您无需为信号和插槽使用它(即使排队连接也可以工作,尽管它们与»旧的«基于字符串的连接语法断开) 在我的测试中(使用Qt5.8),我也没有遇到中描述的问题 如果您使用的旧Qt5版本仍然存在这种情况,请使用新的连接语法(不带信号和插槽关键字) 使用qt5信号/插槽syntax@user3528438不能,因为我的类型不是QMetaType或类似的东西。
typedef uint64_t Hash;
如何将此类型用于Qt信号/插槽结构 由于您的
typedef
是一种基本类型,因此您无需为信号和插槽使用它(即使排队连接也可以工作,尽管它们与»旧的«基于字符串的连接语法断开)
在我的测试中(使用Qt5.8),我也没有遇到中描述的问题
如果您使用的旧Qt5版本仍然存在这种情况,请使用新的连接语法(不带
信号
和插槽
关键字) 使用qt5信号/插槽syntax@user3528438不能,因为我的类型不是QMetaType或类似的东西。你介意声明自定义QMetaType:@ErvinSzilagyi我认为不需要它,因为这是一个简单的类型。问题在这里解决了。总结:使用新语法绕过typedef,使用Q\u DECLARE\u METATYPE
和qRegisterMetaType
通过信号/插槽传递自定义对象,注意名称空间的怪癖。