QT5 RemoteObjects Q_GADGET作为PROP

时间:2018-10-10 05:07:15

标签: qt5 qtremoteobjects

我试图将一个复杂的结构(实际上是一个POD)定义为REP文件中的一个属性。在单独的头文件中,该结构已定义为Q_GADGET。 当我尝试实例化副本时,系统崩溃并抱怨 它无法创建某种类型(然后在日志中出现三个完全伪造的(例如,太高)类型ID编号)

是否可以在QT5远程对象中将结构定义为属性 世界?如果是,怎么办? 谢谢,

1 个答案:

答案 0 :(得分:0)

看来我的“天真”运算符<<实现是错误的。我只是<<-依次将所有成员加入流中,这引起了一些问题。 但是使用

inline QDataStream& operator<<(QDataStream& stream, const my::api::User & value) {
    QtRemoteObjects::copyStoredProperties(&value, stream);
    return stream;
}

inline QDataStream& operator>>(QDataStream& stream, my::api::User & value) {
    QtRemoteObjects::copyStoredProperties(stream, &value);
    return stream;
}

“ ethalon”解决方案(由我的POD的REPC编译器生成)可以正常工作。