Как изменить пользовательский интерфейс на urwid
Я создаю маленький urwid
приложение для моего использования, структура Filler
который имеет Pile
состоит из нескольких Text
поданный, сопровождаемый Divider
, Edit
, другой Divier
и, наконец, Text
:
Text1
Text2
Text3
Divide
>> Edit
Divide
Textout
Теперь я хочу заменить Text1 .. Text3
с другим Text
поле, точное количество тех, которые варьируются. Я считаю, что я должен перерисовать весь интерфейс, но я не получил ответа на draw_screen()
Мои занятия:
class main_ui(urwid.Filler):
def __init__(self):
self.body = welcom()
self.options = self.body.options
self.replay = self.body.replay
self.ask = self.body.ask
super(main_ui,self).__init__(self.body.pile,valign='top')
def paint(self):
super(main_ii,self).__init__(urwid.pile[urwid.Text('test')])
welcom()
функция генерирует вышеуказанные поля, и options
является dict
которая содержит информацию, которая мне нужна
Я запускаю цикл вот так
def refresh(_loop,_data):
m.new_point()
_loop.draw_screen()
_loop.set_alarm_in(2,refresh)
m = main_ui()
loop = urwid.MainLoop(m)
loop.set_alarm_in(2,refresh)
loop.run()
Как я могу обновить свой интерфейс?