如何在CommandMap
中设置/更改SimpleFocusListWalker
? '向上'并且' down'击键与默认情况下更改焦点相关联。
我想将这些修改为其他内容。
这可能吗?
答案 0 :(得分:1)
一个简单有效的解决方案是覆盖keypress
的{{1}}方法并替换键:
ListBox
最好使用内置的import urwid
class MyBox(urwid.ListBox):
def keypress(self, size, key):
if key in {'up', 'down'}:
print('"up/down" remapped to "tab/shift+tab"!')
return
if key == 'shift tab':
key = 'up'
if key == 'tab':
key = 'down'
super().keypress(size, key)
button_list = [urwid.Button(str(k)) for k in range(10)]
urwid.MainLoop(MyBox(button_list)).run()
方法,因为它具有跳过keypress
窗口小部件等优点,并且不会让您专注于超出范围。