Python / kivy:在kivy中使用键ctrl + n键盘接口

时间:2018-04-10 08:50:43

标签: python-2.7 kivy kivy-language

我正在使用python-2.7kivy-1.9.0。我正在使用 键盘界面。有人告诉我按ctrl+n键时如何触发事件? 我正在使用此代码,但它不起作用。

def _on_keyboard_down(self, keyboard, keycode, text, modifiers):
    if keycode[1] == 'lctrl' and keycode[1] == 'n':
        print('Event Fire')

2 个答案:

答案 0 :(得分:1)

当你按下ctrl + n时,ctrl在作为列表的修饰符中传递,并且n在作为元组的键代码中传递。试试这个:

fromJson

答案 1 :(得分:1)

在检查 ctrl + n 之前,需要检查修饰符 不是空列表。如果没有检查,则会产生错误。

def __init__(self, **kwargs):
    super(class_name, self).__init__(**kwargs)
    Window.bind(on_key_down=self._on_keyboard_down)

def _on_keyboard_down(self, instance, keyboard, keycode, text, modifiers):
    if len(modifiers) > 0 and modifiers[0] == 'ctrl' and text == 'n':  # Ctrl+a
        print("\nThe key", keycode, "have been pressed")
        print(" - text is %r" % text)
        print(" - modifiers are %r" % modifiers)
        print('Event Fire')