Глубина PyQt буфера QTextEdit

Я использую виджет PyQt QTextBrowser, который наследуется от QTextEdit. Я добавляю к нему текст как часть отображения информации журнала. Регистрация может продолжаться неделями.

Какова глубина буфера, в котором хранится текст? Спросили по-другому, сколько текста я могу добавить, и при этом пользователь сможет прокручивать назад с помощью полос прокрутки?

Можно ли настроить этот параметр? Может ли он в конечном итоге использовать всю оперативную память моей системы?

Спасибо.


person JohnSantaFe    schedule 11.11.2013    source источник


Ответы (1)


Автоматического управления размером текста нет: он просто будет расти, пока не закончится доступная память.

Самым простым решением, вероятно, было бы установить фиксированное ограничение на количество текстовых блоков в документе:

logger.document().setMaximumBlockCount(5000)

Это начнет удаление блоков с начала документа после того, как порог будет пройден. Вам, очевидно, придется решить для себя, каким будет безопасный максимум, и/или сделать его настраиваемой пользователем настройкой.

Обратите внимание, что если вам не нужно форматирование форматированного текста для выходных данных журнала, QPlainTextEdit может быть лучшим выбором, так как он предназначен именно для такого рода задач.

person ekhumoro    schedule 11.11.2013
comment
Спасибо, это то, что мне нужно было знать :-) - person JohnSantaFe; 12.11.2013
comment
@ДжонСантаФе. Извините за ворчание, но не могли бы вы принять ответ, если он оказался вам полезен? Спасибо. - person ekhumoro; 12.11.2013