Обработка больших текстовых документов
Обработка больших файлов
Qt не ограничивает размер файлов, используемых для обработки текста. В большинстве случаев это не проблема. Однако для очень больших файлов ваша программа может стать неотзывчивой или у вас может закончится память. Размер загружаемых файлов зависит от вашего оборудования и от реализации Qt и вашего приложения.
Если вы столкнулись с этой проблемой, мы рекомендуем рассмотреть следующие вопросы:
- Следует разбить большие абзацы на более мелкие, так как Qt лучше обрабатывает небольшие абзацы. Вы также можете вставлять разрывы строк через равные промежутки времени, что будет выглядеть так же, как один большой абзац в QTextEdit.
- Вы можете уменьшить количество блоков в QTextDocument с помощью свойства maximumBlockCount(). Документ так же большой, как и количество блоков, если рассматривать с точки зрения QTextEdit.
- При добавлении текста в поле редактирования текста будет выгодно добавлять его в блок редактирования (см. пример ниже). В результате поле редактирования текста не должно строить всю структуру документа сразу.
Мы даем пример последнего способа из списка. Предполагается, что поле редактирования текста видно.
textEdit.show();
textCursor.beginEditBlock();
for (int i = 0; i < 1000; ++i) {
textCursor.insertBlock();
textCursor.insertText(paragraphText.at(i));
}
textCursor.endEditBlock();
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/richtext-advanced-processing.html