Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ typedef中的自定义类型作为Qt元类型_C++_Qt - Fatal编程技术网

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
通过信号/插槽传递自定义对象,注意名称空间的怪癖。