【发布时间】:2021-04-21 13:15:25
【问题描述】:
我开发了一个带有一些按钮和滑块的 Kivy 桌面应用程序来控制机器人。我想为此目的使用键盘控件。但我似乎找不到通过键盘控制滑块值的方法。我的目的是通过“w”和“s”键盘键控制这个 kivy 滑块,这样当我按“w”时滑块值上升,而按“s”则相反。有没有办法解决这个问题?一个小的书面代码会有很大的帮助。
【问题讨论】:
标签: python keyboard kivy slider
我开发了一个带有一些按钮和滑块的 Kivy 桌面应用程序来控制机器人。我想为此目的使用键盘控件。但我似乎找不到通过键盘控制滑块值的方法。我的目的是通过“w”和“s”键盘键控制这个 kivy 滑块,这样当我按“w”时滑块值上升,而按“s”则相反。有没有办法解决这个问题?一个小的书面代码会有很大的帮助。
【问题讨论】:
标签: python keyboard kivy slider
这里是一个使用键盘事件的例子:
class TestApp(App):
def build(self):
Window.bind(on_key_down=self._keydown)
Window.bind(on_key_up=self._keyup)
return Label(text='Hi')
def _keydown(self, window, key, scancode, codepoint, modifiers):
print('keydown:')
print('\tkey:',key)
print('\tscancode:', scancode)
print('\tcodepoint:', codepoint)
print('\tmodifiers:', modifiers)
def _keyup(self, window, key, scancode):
print('keyup:')
print('\tkey:',key)
print('\tscancode:', scancode)
TestApp().run()
【讨论】:
_keydown() 或_keyup() 方法中,您可以设置Slider 的value 或value_normalized 属性。