我阅读了关于 QTextDocument 序列化的旧主题:here和here。据我了解,一次真正的无需额外代码的序列化和反序列化方法是将文档保存和读取为 html 文件。但是,我认为,这种方法并不快,因为 html 字符串解析是一项艰巨且耗时的操作。
在其他情况下,我可以将文档保存为二进制格式并通过按顺序调用的 QTextCursor 方法对它们进行反序列化,我认为这比 html 解析更快。
QTextDocument 二进制序列化是否存在代码示例?
有QTextDocumentWriter,但没有相应的阅读器。如果您需要阅读文档,请检查此答案。
我没有找到纯二进制序列化,但我找到了将 ODF 格式文件读取到 QTextDocument 的工作示例。这也是字符串(xml)解析方法,但是odf格式接受避免为文档存储多个文件,如果他包含图像。
源代码可以在 okular git repo 中查看