Spec-Zone.ru › Qt 6.1

Обработка Разметки Богатого Текста Продвинутого Уровня

Обработка Крупных Файлов

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/archives/qt-5.11/richtext-advanced-processing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API