QT中两个线程之间进行自定义类型数据传递
两个线程中进行数据传递时,传递的数据放到队列中(queue),所以在这个过程中,需要在传递前将数据拷贝、存储到队列中;为了存储这些参数,Qt需要construct、destruct、copy这些对象,为了让Qt知道怎样去做这些事情,参数类型需要进行注册。详细步骤分为三步:
加入头文件
#include <QMetaType>
声明要传递的参数类型
Q_DECLARE_METATYPE(MyClass)
在使用connect之前,进行注册,加上
qRegisterMetaType<MyClass>("MyClass")