qt - 使用 qt 将自定义类写入文件的最佳方法

标签 qt serialization qfile qiodevice

<分区>

大家好(外面:)。
在 Qt 中将自定义类写入文件的最佳方式是什么?
提前谢谢你。
马蒂亚斯

最佳答案

编辑:问题已经被问到。 Serialization with Qt

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

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

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

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

关于qt - 使用 qt 将自定义类写入文件的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14375795/

相关文章:

Qt:捕获和传递信号的最佳机制

c++ - 在 C++ 中使用 QThread 多线程编程

javascript - QML 动态 map 对象创建

java - 涉及多个类的序列化

c# - 实现 PropertyChangedBase 时的 caliburn.micro 序列化问题

c++ - Qt (C++) : QFile creates text file successfully but does not write to it

c++ - 无法读取外部类型和资源系统的文件

c++ - 为什么我得到这个 "error: undefined reference to ` qt_version_tag'”?

.net - 用 Newtonsoft Json.Net json 序列化器替换 WCF 内置的 JavascriptSerializer

c++ - 如何在数组QT C++中添加数据