我想创建一个键盘绑定在基维(Ctrl + O),我可以附加一个事件。我看到Kivy Inspector模块正在做类似的事情,但我不确定如何复制这些功能。如何在Kivy中创建一个键盘绑定(Ctrl + O)?
我想在所有的Kivy应用程序上都有键绑定工作,所以我猜它必须绑定到窗口/根窗口部件。
有没有人做过这个?谢谢!
我想创建一个键盘绑定在基维(Ctrl + O),我可以附加一个事件。我看到Kivy Inspector模块正在做类似的事情,但我不确定如何复制这些功能。如何在Kivy中创建一个键盘绑定(Ctrl + O)?
我想在所有的Kivy应用程序上都有键绑定工作,所以我猜它必须绑定到窗口/根窗口部件。
有没有人做过这个?谢谢!
正如你所说的检查模块确实是你正在寻找什么,所以你不打开代码,找出?毕竟它是Python。
这是文件inspector.py
搜索ctrl
作为检查使用快捷键“CTRL + E”获得的美国this。::
def keyboard_shortcut(self, win, scancode, *largs):
modifiers = largs[-1]
if scancode == 101 and modifiers == ['ctrl']:
self.activated = not self.activated
...
...
...
看起来这是听键盘检查输入是否匹配'ctrl'和'e'
if scancode == 101 and modifiers == ['ctrl']:
但是,我们不知道这个函数是从哪里开始的n被称为?因此,我们搜索函数名称::
`keyboard_shortcut`
我们得到this。
win.bind(children=ctx.inspector.on_window_children,
on_keyboard=ctx.inspector.keyboard_shortcut)
取胜是因为我们要绑定到一个键盘快捷键全球我们绑定到on_keyboard
事件窗口的窗口的实例。
这是什么on_keyboard
事件的窗口?请在kivy文档中使用search for window
。
第四个链接kivy.core.window.Keyboard(Python类,在Window中)似乎很有趣。 继此链接看来,他们甚至有一个使用Window.keyboard的例子,并且还解释了on_keyboard
事件here。
遵循上面的所有资源,您应该能够绑定到全局快捷方式以对其作出反应。
希望这是帮助。