2010-07-15 62 views
0

我之前问过的这个问题,刚刚得到答案,这是一个开放的错误。但是这是一个非常必要的功能,我猜,每个Qt程序员编写或多或少严重的应用程序,很可能会使用QTextEdit,并且将数据插入到QTextEdit中进行序列化和反序列化。因此,我认为这个问题非常重要,对于许多Qt开发人员来说它可能很有用。所以我决定和好的程序员讨论如何实现运算符<(QDataStream,QTextDocument)。否则,我们应该等待Qt人会亲自做到这一点:)。如何实现QTextDocument序列化

所以说在QTextEdit中我有一些图片和文字。在不同的片段中,文本具有不同的格式。如何获得这种类型的QTextEdit的内容以及如何序列化,以便如此显示?

编辑:我知道我可以通过使用documnet()方法返回QTextDocument来获取格式化的文本和图像。我也知道QTextDocument没有运算符< <(QDataStream,QTextDocument),并且有一个写这个运算符的请求,但它仍然是打开的。所以请帮我写这个方法。 我想我应该继承QTextDocument类,然后添加一个新的成员(一个容器),该成员存储QTextEdit中存在的所有资源的名称。然后我应该通过使用我定义的容器对它们进行迭代来序列化所有资源。这是一个好的解决方案吗?如果是的话,那么你能帮我实施吗?如果没有,请给我一个更好的主意。

回答

2

你已经问过这个问题在4月:

Qt - serialize/deserialaize text and picture

的答案仍然是相同的。

  1. 等待Qt来解决QTBUG-9258
  2. Perform the serialization yourself

根据您的需要一个快速和肮脏的方式做到这将是获得的内容的HTML表示与QTextEdit::toHtml,然后base64 encode it。我不知道这将如何与图片。

请不要转发相同的问题。

+0

但它仍然是开放的,没有答案。所以我试图改变这个尴尬的表现。 – Narek 2010-07-16 12:26:38

+0

够公平的,4月是前一阵子。不幸的是,情况并没有改变。我建议你自己去做,因为你真的不知道诺基亚是否会修复这个bug。 – Casey 2010-07-16 12:28:44

相关问题