警告

本节包含从 C++ 自动转换为 Python 的片段,可能包含错误。

高级富文本处理#

处理大型文件#

Qt 不会限制用于文本处理的文件大小。在大多数情况下,这不会成为问题。然而,对于特别大的文件,您可能会发现应用程序会变得无响应,或者您可能耗尽内存。您可以加载的文件大小取决于您的硬件以及 Qt 和您的应用程序的实现。

如果您遇到此问题,我们建议您解决以下问题

  • 您应考虑将大段文字分成较小的段落,因为 Qt 更擅长处理小段落。您还可以在规则间隔处插入换行符,这会使 QTextEdit 中的内容看起来像一个大的段落。

  • 您可以使用 QTextDocumentmaximumBlockCount() 减少块的数量。在 QTextEdit 考虑范围内,文档的大小仅取决于块的数量。

  • 在向文本编辑器添加文本时,将其添加到编辑块中是有好处的(参见下面的示例)。这样,文本编辑器不需要一次性构建整个文档结构。

我们从列表中提供了一种后者的技术示例。我们假设文本编辑器是可见的。

textEdit.show()
textCursor.beginEditBlock()
for i in range(0, 1000):
    textCursor.insertBlock()
    textCursor.insertText(paragraphText.at(i))

textCursor.endEditBlock()