Форум сайта python.su
RodegastВозможно. Я (как писал выше) - новичок в Python-е. Какое смог придумать решение - такое и реализовал. Может есть лучшее.
У меня такое ощущение что ты что то не то делаешь.
Отредактировано jcxz (Июль 24, 2024 12:21:44)
Офлайн
> Общая скорость потока строк может быть довольно высокой - до десятка МБ/сек (а может даже выше?)
При такой скорости выводить данные в виде текста абсолютно бесполезно.Оператор ничего толком не увидит.
> вычисляется новый размер окна (в столбцах/строках по X/Y); а также - положение слайдеров прокрутки по X/Y; этот размер+положение передаётся в поток, занимающийся массивом строк; а он уже вырезает из хранимого массива нужный фрагмент текста и отправляет его на отображение в GUI-поток
В место самописных виджетов используй стандартный QTextEdit, тогда не нужно будет всё это вычислять.
Офлайн
RodegastЭто максимальная скорость. Я же пишу “до”. Чтобы было понятие какая нагрузка может быть. Скорость неравномерна. При небольшой скорости - видны строки. Если бегут слишком быстро - нажал слайдер вверх - окно зафиксировалось на текущей позиции. Потом слайдер вниз - опять показывает хвост потока.
При такой скорости выводить данные в виде текста абсолютно бесполезно.Оператор ничего толком не увидит.
RodegastА если подумать?
В место самописных виджетов используй стандартный QTextEdit, тогда не нужно будет всё это вычислять.
Отредактировано jcxz (Июль 24, 2024 21:11:36)
Прикреплённый файлы:
scr006.png (94,1 KБ)
Офлайн
> Это максимальная скорость.
Знаешь роман “Война и мир”? Вот если его обычным текстом набрать то получится объём примерно 2-3 МиБ, а у тебя их 10 в секунду! Максимальная эта скорость или нет абсолютно не важно, к оператору один раз такое прилетело и всё, его деятельность сведена к нулю. Обычно для таких целей используют что то вроде grafana, но никак не ручное чтение лога.
> При добавлении такого объёма в QTextEdit он подвисает на пару секунд (вместе с главным окном).
Если добавлять всё сразу, то подвиснит, а если по одной строке закидывать, то норм.
> Кроме того - нужна цветность. Чтобы её сделать в QTextEdit, придётся конвертить текст в HTML например
Не нужно никакого HTML, подключаешь QSyntaxHighlighter и делаешь через него подсветку.
Офлайн
RodegastВы не понимаете о чём речь. Какой смысл тогда дискутировать? Я пользуюсь, пользоваться удобно, люди пользуются и довольны - значит нужно и полезно.
Максимальная эта скорость или нет абсолютно не важно, к оператору один раз такое прилетело и всё, его деятельность сведена к нулю.
RodegastНу да, “по одной строке” добавлять и удалять при том, что новые строки могут прилетать по несколько штук за миллисекунду. Оно виснуть будет непрерывно.
При добавлении такого объёма в QTextEdit он подвисает на пару секунд (вместе с главным окном).Если добавлять всё сразу, то подвиснит, а если по одной строке закидывать, то норм.
Офлайн