高級富文本處理

處理大文件

Qt 不限製用於文本處理的文件大小。在大多數情況下,這不會存在問題。不管怎樣,對於特大文件,可能體驗應用程序變為無響應或內存不足。可以加載的文件大小從屬硬件、Qt 及應用程序的實現。

若麵臨此問題,推薦解決下列問題:

  • 應考慮將大段落分解成更小段落,因為 Qt 處理小段落會更好。還可以有規律插入換行,將看起來如同一個大段落在 QTextEdit .
  • 可以縮減塊數在 QTextDocument with maximumBlockCount() . The document is only as large as the number of blocks as far as QTextEdit 有涉及。
  • 當將文本添加到文本編輯時,把它添加到編輯塊中有優勢 (見下文範例)。結果是文本編輯不需要一次性構建整個文檔結構。

給齣來自列錶的後一技術範例。假定文本編輯可見。

textEdit.show();
textCursor.beginEditBlock();
for (int i = 0; i < 1000; ++i) {
    textCursor.insertBlock();
    textCursor.insertText(paragraphText.at(i));
}
textCursor.endEditBlock();