我正在使用python-2.7
和kivy-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')
答案 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')