我正在开发一个程序来控制将只有一个键盘连接的机器。 我正在使用Python 2.7和Tkinter 8.5。 我使用OptionMenu
来允许用户在机器上进行设置。
当我在Windows下运行时,我可以使用键盘上的箭头键遍历下拉列表,然后使用小键盘inputselect选项。 这不适用于Linux(Debian Wheezy)。
如何绑定KP_Enter
以performance为返回键?
import Tkinter def c(self, event): event.b[".keysym"] = "<<space>>" print "button invoked" t = Tkinter.Tk() b = Tkinter.OptionMenu(t, ".500", ".510", ".520", ".550", ".560", ".570", ".580", command=c) t.bind("<KP_Enter>", c) e = Tkinter.Entry() e.pack() b.pack(anchor=Tkinter.E) t.mainloop()
用这个脚本(从这里 ),应该很容易识别Tkinter触发的按键事件,无论是<Return>
, <KP_Enter>
或者(某种程度上,也许你的键盘有一个有趣的映射)其他。
当你按下所需的按钮时,只要看看控制台输出,并在你的实际代码中使用该键事件名称。
import Tkinter def callback(e): print e.keysym w = Tkinter.Frame(width=512, height=512) w.bind("<KeyPress>", callback) w.focus_set() w.pack() w.mainloop()