如何处理超大文件?
Qt不限制用于文本处理的文件的大小。在大多数情况下,这不会出现问题。但是,对于特别大的文件,您可能会体验到应用程序将变得无响应或内存耗尽。您可以加载的文件的大小取决于您的硬件、Qt和您自己的应用程序的实现。
如果您面临这个问题,我们建议您解决以下问题:
1、您应该考虑将大段落分解为小段落,因为Qt更好地处理小段落。您还可以定期插入换行符,这看起来与QTextEdit中的一个大段落相同。
2、可以使用maximumBlockCount()减少QTextDocument中的块数量。就QTextEdit而言,文档的大小取决于块的数量。
3、在文本编辑中添加文本时,将其添加到编辑块中是一个优势(参见下面的示例)。结果是,文本编辑不需要一次构建整个文档结构。例如:
textEdit.show();
textCursor.beginEditBlock();
for (int i = 0; i < 1000; ++i) {
textCursor.insertBlock();
textCursor.insertText(paragraphText.at(i));
}
textCursor.endEditBlock();