高级富文本处理
官方文档 Rich Text Processing - Advanced Rich Text Processing
处理大型文件
Qt 不限制用于文本处理的文件的大小。在大多数情况下,这不会出现问题。但是,对于特别大的文件,您可能会遇到应用程序将变得无响应或内存不足。可以加载的文件大小取决于您的硬件以及 Qt 和您自己的应用程序的实现。
如果您遇到此问题,我们建议您解决以下问题:
- 应考虑将大段落分解为较小的段落,因为 Qt 可以更好地处理小段落。您还可以定期插入换行符,这看起来与QTextEdit中的一个大段落相同。
- 您可以减少 QTextDocument 中的块数,最大值为块计数()。就QTextEdit而言,文档仅与块数一样大。
- 将文本添加到文本编辑时,将其添加到编辑块中是一个优势(请参阅下面的示例)。结果是文本编辑不需要同时生成整个文档结构。
我们从列表中举出后一种技术的示例。我们假设文本编辑是可见的。
textEdit.show();
textCursor.beginEditBlock();
for (int i = 0; i < 1000; ++i) {
textCursor.insertBlock();
textCursor.insertText(paragraphText.at(i));
}
textCursor.endEditBlock();