在排队信号中使用自定义类型的情况下。注册我的自定义类型的正确顺序是什么?
是否有必要调用Q_DECLARE_METATYPE之前qRegisterMetaType?
为什么我必须为排队信号而不是直接信号注册自定义类型?
是否需要在 qRegisterMetaType 之前调用 Q_DECLARE_METATYPE?
这是。qRegisterMetaType上的 Qt 文档明确指出:
T 必须用 Q_DECLARE_METATYPE() 声明。
您必须为排队信号注册自定义类型,因为通过注册它,Qt 可以在其事件循环中制作它的副本(当然使用 QVariant)并稍后将其作为参数传递(当原始传递的值很长时间超出范围时)。
| 归档时间: |
|
| 查看次数: |
1301 次 |
| 最近记录: |