Qt线程间共享数据
1. 数据共享注意点
像 QString 等这些 Qt 本身定义的类型,直接传送即可。但如果自定义的类型想使用 signal/slot 来传递的话,则不能直接使用。
typedef unsigned short u16;
以 u16 为例:
步骤:
- 在类型定义完之后,加入声明
Q_DECLARE_METATYPE(U16)
- 在使用函数中注册这种类型:
qRegisterMetaType(u16)("u16")
- 如果还需使用这种类型的引用或指针,还需注册:
qRegisterMetaType(