这个问题我之前问过,刚刚得到的答案是有一个开放的错误。但这是一个真正需要的功能,我猜,每个编写或多或少严肃的应用程序的 Qt 程序员,很可能使用 QTextEdit 并且插入 QTextEdit 的数据被序列化和反序列化。因此,我认为这个问题非常重要,它对许多 Qt 开发人员很有用。所以我决定和优秀的程序员讨论如何实现operator<<(QDataStream, QTextDocument)。否则,我们应该等待 Qt 的人愿意自己做这件事:)。
所以说在 QTextEdit 我有一些图片和文字。在不同的片段中,文本具有不同的格式。如何获取这种 QTextEdit 的内容以及如何序列化,以便按原样显示?
编辑:我知道我可以通过使用返回 QTextDocument 的 documnet() 方法获取格式化的文本和图像。我也知道 QTextDocument 没有 operator<<(QDataStream, QTextDocument) 并且有写入此运算符的请求,但它仍然是打开的。所以请帮我写这个方法。我想我应该继承 QTextDocument 类,然后添加一个新成员(一个容器)来存储 QTextEdit 中存在的所有资源名称。然后我应该通过使用我定义的容器对它们进行迭代来序列化所有资源。这是一个很好的解决方案吗?如果是,那么你能帮我实施吗?如果没有,请给我一个更好的主意。