3

大家好(外面:)。
哪种方式最适合在 Qt 中将自定义类写入文件?
先感谢您。
马蒂亚斯

4

1 回答 1

5

编辑:问题已经被问到了。使用 Qt 进行序列化

最好的方法是使用QDataStream进行序列化。对于给定的类MyClass,您需要定义新的流操作符

QDataStream &operator<<(QDataStream &, const MyClass &);
QDataStream &operator>>(QDataStream &, MyClass &);

QDataStream已经能够编写几个 Qt 类,主要是集合和其他方便的类,例如QImage,等等。请注意,您不能序列化QObject. 有原因:),但仅限于解释QObject本身既不提供复制构造函数也不提供上述输入/输出流函数的解释。

注意,如果你的自定义类派生了一个已经提供序列化的类,你需要为这个超类调用流操作符(与构造子类时调用超类的构造函数的原理相同)。

于 2013-01-17T09:52:15.143 回答