2010-07-15 61 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

相關問題