Dru*_*ter 3 python events python-3.x urwid
是否可以跟踪urwid.ListBox对象中突出显示项目的更改?甚至通过一个ListWalker物体?
我想,当用户使用箭头键从一个项目移动到另一个调用回调[],[],不是当用户点击[Enter]一个项目.
经过一些研究和实验,可以通过modified向ListWalker对象注册信号来实现这一点.
import urwid
def callback():
index = str(listBox.get_focus()[1])
debug.set_text("Index of selected item: " + index)
debug = urwid.Text("Debug")
captions = "A B C D E F".split()
items = [urwid.Button(caption) for caption in captions]
walker = urwid.SimpleListWalker(items)
listBox = urwid.ListBox(walker)
urwid.connect_signal(walker, "modified", callback)
frame = urwid.Frame(body=listBox, header=debug)
urwid.MainLoop(frame).run()
Run Code Online (Sandbox Code Playgroud)