【发布时间】:2009-09-17 15:14:56
【问题描述】:
这是演示代码:
QList<Custom> L;
QVariant v(QVariant::fromValue(l));
QDataStream d;
d << v;
问题似乎是 d 不知道如何流式传输 v,因为 v 不知道如何在 L 上进行元类型保存。我已将 Custom 和 L 注册为元类型,并且我还注册了它们的 IO流,但 L 没有元对象,我认为这就是问题所在。
我能以某种方式解决这个问题吗?
稍后编辑:
调试QMetaType代码后发现,调用qRegisterMetaTypeStreamOperators<Type>("TypeString")时,“TypeString”必须是“Type”,而不是随便什么字符串。文档中提到了这一点,但并不是很清楚。 QtCentre 链接也提到了这一点。我决定接受 Kaleb Pederson 的回答,因为我很难找到答案是我的错。 :)
【问题讨论】:
标签: c++ qt serialization