如何更改urwid小部件导航的键映射?

时间:2018-03-15 17:46:25

标签: widget focus keypress urwid

如何在CommandMap中设置/更改SimpleFocusListWalker? '向上'并且' down'击键与默认情况下更改焦点相关联。 我想将这些修改为其他内容。

这可能吗?

1 个答案:

答案 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窗口小部件等优点,并且不会让您专注于超出范围。