pip install urwid python import urwid python class MenuItem(object): def __init__(self, caption, callback): self.caption = caption self.callback = callback def get_widget(self): button = urwid.Button(self.caption) urwid.connect_signal(button, 'click', self.callback) return button python class Menu(object): def __init__(self, menu_items): self.menu_items = menu_items def get_widget(self): buttons = [] for menu_item in self.menu_items: buttons.append(menu_item.get_widget()) return urwid.Pile(buttons) python class App(object): def __init__(self, menu): self.menu = menu def run(self): # ... top_widget = urwid.Padding(self.menu.get_widget(), left=2, right=2) fill = urwid.Filler(top_widget, valign='top') loop = urwid.MainLoop(fill) loop.run() python def main(): menu_items = [ ] menu = Menu(menu_items) app = App(menu) app.run() def callback1(widget): pass def callback2(widget): pass def callback3(widget): pass if __name__ == '__main__': main()


上一篇:
下一篇:
切换中文