Dynami c загрузка содержимого в QtextEdit - PullRequest
0 голосов
/ 07 мая 2020

Я пишу приложение QT на C ++.

У меня большой файл .txt (более 150 тыс. Строк). Я загружаю содержимое в QVector<QString> вот так:

QString line = "";
QVector<QString> content;
while (!in.atEnd()) {
        line = in.readLine();
        content.append(line);
    }

Это достаточно быстро. Проблема начинается, когда я пытаюсь отобразить содержимое в QtextEdit.

Перед отображением мне нужно выполнить некоторые операции редактирования / редактирования. Затем идет

for(int i = 0; i < content.size(); i++) {
    ui->textEdit->append(content[i]);
}

Для отображения всего текста и его слишком большого количества требуется более 100 секунд (измерено с помощью QElapsedTimer).

Итак, я хочу спросить, есть ли простой способ загрузки больше содержимого, когда пользователь прокручивает в QtextEdit? Например, я буду отображать 5000 строк, и когда пользователь прокручивает до ~ 3/4, отображаются следующие 5000 строк и т. Д.

Я использую встроенный вертикальный скроллер в QtextEdit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...