错误
解决办法:
方法1:注册改向量
1、注册位置:在第一次使用此类链接跨线程的signal/slot之前,一般在当前类的构造函数中进行注册;
2、注册方法:在当前类的顶部包含:#include <QMetaType>,构造函数中加入代码:qRegisterMetaType<MyClass>("Myclass");
3、Myclass的引用类型需单独注册:qRegisterMetaType<MyClass>("Myclass&");
---------------------
作者:爱因
来源:CSDN
原文:https://blog.csdn.net/xbnlkdbxl/article/details/56842565
版权声明:本文为博主原创文章,转载请附上博文链接!
方法2:改变信号连接方式
使用connect函数的Qt::DirectConnection参数
connect(A,SIGNAL(sendA(MyClass)),B,SLOT(getA(MyClass)),Qt::DirectConnection);
但此方法官方不推荐使用,认为其不安全。
方法3:针对结构体
在结构体的声明后面加一句宏:
Q_DECLARE_METATYPE(CustomStruct)