我正在尝试使用pyGTK构建一个基本界面,在此基础上,我会根据所按下的键调用不同的功能。
我了解使用“连接”方法,可以捕获诸如按键或单击之类的事件,如下所示:
self.btn1.connect("clicked", self.funcRec)
self.btn1.connect("key_press_event", self.funcRec)
执行此操作将在发生按键事件或单击按钮时调用funcRec函数。 但是我无法找到一种方法来捕获实际按下的按键并触发不同的功能。有办法吗?
答案 0 :(得分:0)
我找到了办法。我使用了一个捕获事件并获取按键事件值的函数。
首先,您“连接”并获得“ key_press_event”并触发回调函数
self.connect("key-press-event", self.on_key_down)
其中“ on_key_down”回调函数定义为
def on_key_down(self, widget, event):
key = event.keyval
if key == gtk.keysyms.Right:
self.onRightPress(self, widget)
if key == gtk.keysyms.Left:
self.onRightPress(self, widget)