如何捕捉urwid中的“裸”修饰键?

时间:2019-04-25 19:49:19

标签: python python-3.x event-handling urwid

GUI编程和事件循环等的新手,请耐心等待。

看看这个小例子。我的目标是将重点放在按ALT键上。

import urwid

class MainWindow(urwid.Frame):
    def __init__(self):
        header = urwid.LineBox(urwid.Edit(''))
        body = urwid.LineBox(urwid.Edit(''))
        super().__init__(urwid.Filler(body), header)
    def unhandled_keypress(self, k):
        if 'meta' in k:
            self.focus_position, = {'body', 'header'} - {self.focus_position}
            self.focus.base_widget.set_edit_text(k)
            return True
    def run(self):
        urwid.MainLoop(self, unhandled_input=self.unhandled_keypress).run()

mw = MainWindow()
mw.run()

如果我同时按下ALT和一个常规键,这可以正常工作,但是当我单独按下ALT时,它会传递到包含python进程的终端仿真器,这在可用性方面非常烦人。 / p>

有没有办法抓住“纯”修饰键?

0 个答案:

没有答案