警告
本节包含从 C++ 自动转换为 Python 的片段,可能包含错误。
高级富文本处理#
处理大型文件#
Qt 不会限制用于文本处理的文件大小。在大多数情况下,这不会成为问题。然而,对于特别大的文件,您可能会发现应用程序会变得无响应,或者您可能耗尽内存。您可以加载的文件大小取决于您的硬件以及 Qt 和您的应用程序的实现。
如果您遇到此问题,我们建议您解决以下问题
您应考虑将大段文字分成较小的段落,因为 Qt 更擅长处理小段落。您还可以在规则间隔处插入换行符,这会使 QTextEdit 中的内容看起来像一个大的段落。
您可以使用
QTextDocument
的maximumBlockCount()
减少块的数量。在 QTextEdit 考虑范围内,文档的大小仅取决于块的数量。在向文本编辑器添加文本时,将其添加到编辑块中是有好处的(参见下面的示例)。这样,文本编辑器不需要一次性构建整个文档结构。
我们从列表中提供了一种后者的技术示例。我们假设文本编辑器是可见的。
textEdit.show() textCursor.beginEditBlock() for i in range(0, 1000): textCursor.insertBlock() textCursor.insertText(paragraphText.at(i)) textCursor.endEditBlock()