不跨线程的话,使用自定义的类型使用signal/slot来传递,没有什么问题。
但如果是跨线程的使用,则没有这么简单。
直接使用的话,会产生下面这种错误:(假定自定义类为MyClass)
QObject::connect: Cannot queue arguments of type 'MyClass' (Make sure 'MyClass' is registed using qRegisterMetaType().)
实际运行中也会发现,该信号槽没有起作用。
其实解决方法在错误提示中已经给出了:Make sure 'MyClass' is registed using qRegisterMetaType().
即使用qRegisterMetaType()将自定义类型进行注册