Qt中通过信号和槽在子线程和主线程中进行数据传递

QT中两个线程之间进行自定义类型数据传递

两个线程中进行数据传递时,传递的数据放到队列中(queue),所以在这个过程中,需要在传递前将数据拷贝、存储到队列中;为了存储这些参数,Qt需要construct、destruct、copy这些对象,为了让Qt知道怎样去做这些事情,参数类型需要进行注册。详细步骤分为三步:

  1. 加入头文件#include <QMetaType>

  2. 声明要传递的参数类型Q_DECLARE_METATYPE(MyClass)

  3. 在使用connect之前,进行注册,加上qRegisterMetaType<MyClass>("MyClass")

猜你喜欢

转载自blog.csdn.net/qq_25548063/article/details/82663420