2016-09-15 33 views
0

我有一個QTextEdit與一些圖像,我已經改變了他們的QTextImageFormat。QTextImageFormat未導出到HTML

但QTextEdit :: toHtml()不會導出它們的樣式(加載工作)。

有沒有人有解決方法的想法?

WebKit不是一個選項,它是一個古老的項目。

回答

0

可以使用QTextBlockQTextDocument的內容轉換爲另一種格式。由於官方文檔says

QTextBlock提供對QTextDocuments的塊/段結構的只讀訪問。它主要是使用< ...>如果你想遍歷一個文檔並用自己的自定義格式寫出內容。

迭代過QTextEditQTextDocument的內容是這樣的:

QTextEdit * editor = new QTextEdit; 
<...> // fill the editor contents 
QTextDocument * doc = editor->document(); 
for (QTextBlock currentBlock = doc->begin(); currentBlock != doc->end(); currentBlock = currentBlock.next()) 
{ 
    <...> // optionally process the block itself somehow - look at its QTextBlockFormat, for example 
    for(QTextBlock::iterator it = currentBlock.begin(); !it.atEnd(); ++it) 
    { 
     QTextFragment currentFragment = it.fragment(); 
     if (currentFragment.isValid()) { 
      processFragment(currentFragment); 
     } 
    } 
} 

查看文檔QTextFragment瞭解如何你可以從上面的例子實施processFragment

另一方面,你說WebKit不是一個選項 - 好的,但有一個替代品 - Qt WebEngine。我有一些使用Qt WebEngine作爲後端來實現文本編輯器的幾個「高級功能」的經驗,我可以說這比Qt WebKit要難得多,但是可能的。