У меня проблема с освежающим терминалом. Я использую python с модулем curses. Существует случайный генератор имен, который показывает сгенерированное имя рядом с предварительно определенным текстом в программе запуска. Пользователь может изменить имя (добавить/удалить символы).Проблемы с обновляющим терминалом
Где проблема? В начале на экране отображается только предопределенный текст. Введенное имя вводится, но все символы черные, и пользователь не может его увидеть. Экран обновляется только при изменении имени, т. Е. Пользователь добавляет новое письмо или удаляет последнюю букву.
Я бы хотел обновить экран сразу после создания имени.
Algo: (часть функции GetStringName)
str = true_heroname #generated name
self.screen.move(y, x + len(str))
self.screen.refresh() #it should refresh screen after placing generated name
self.screen.addstr(y, x, prompt, pattr)
x += len(prompt)
while True:
self.screen.move(y, x + len(str))
self.screen.refresh()
####AND BELOW CODE TO ADD/REMOVE LETTERS###
Эта функция используется для генерации имени в главном меню:
self.name = Global.IO.GetStringName("What's your name? ", noblank=True, pattr=c_yellow, iattr=c_Yellow)
#c_yellow and c_Yellow are predefinied colors
Я надеюсь, описание и код отрезала ясно.
Как я могу сделать autorefresh screen после ввода сгенерированного имени?
Информация не достаточна (короткая, полная программа поможет). –