4

我正在创建一个urwid供我使用的小应用程序,结构是 aFillerPile几个Text字段组成,然后是 a Divider, an Edit, anotherDivier最后是 aText

Text1
Text2
Text3
Divide
>> Edit
Divide
Textout

现在,我想更换Text1 .. Text3用其他Text字段替换,这些字段的确切数量各不相同。我想我应该重绘整个 UI,但我没有得到回应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()

如何更新我的用户界面?

4

0 回答 0