Ошибка или неправильное использование? Полоса прокрутки не работает для textual.Log при печати стилизованных (цветных) сPython

Программы на Python
Ответить
Anonymous
 Ошибка или неправильное использование? Полоса прокрутки не работает для textual.Log при печати стилизованных (цветных) с

Сообщение Anonymous »

Я пытаюсь визуализировать цветной текст внутри виджета textual.Log с помощью rich.Style, но каким-то образом полоса прокрутки сбивается при применении стиля к отдельным строкам.
Вот мой код:

Код: Выделить всё

from textual import work
from textual.app import App
from textual.widgets import Log
from rich.style import Style

class BrokenLog(App[None]):
CSS = "Log { border: solid $accent; }"

def compose(self):
yield Log()

async def on_mount(self):
self.query_one(Log).write_lines(
(Style(color="red") if i % 2 else Style(color="green")).render(f"line {i}")
for i in range(100)
)

BrokenLog().run()
И вот как выглядит результат:
Изображение

Я подозреваю, что ширина линий будет вычисляться без управляющих последовательностей, но я не знаю, как указать виджету журнала, чтобы он учитывал их.
Я Я делаю что-то не так? Есть ли другой способ рисовать линии в окне журнала разного цвета?
Я использую textual=0.46.0 и rich=13.7.0 с Python 3.11.4

Подробнее здесь: https://stackoverflow.com/questions/777 ... yled-colou
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»