考虑阅读 (http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm)
您必须将您的小部件绑定到您的函数的事件:
键盘事件被发送到当前拥有
键盘焦点。您可以使用 focus_set 方法将焦点移动到
小部件:
捕获键盘事件
from Tkinter import *
root = Tk()
def key(event):
print "pressed", repr(event.char)
def callback(event):
frame.focus_set()
print "clicked at", event.x, event.y
frame = Frame(root, width=100, height=100)
frame.bind("<Key>", key)
frame.bind("<Button-1>", callback)
frame.pack()
root.mainloop()
如果你运行这个脚本,你会发现你必须点击
开始接收任何键盘事件之前的帧。
不久前,我按照本指南实现了与我的一个函数的 ctrl+f 绑定:
toolmenu.add_command(label="Search Ctrl+f", command=self.cntrlf)
root.bind('<Control-f>', self.searchbox)
def cntrlf(self, event):
self.searchbox()
对于您的文件菜单,您可能需要考虑实施加速器:
menubar.add_cascade(label="File", menu=fileMenu)
fileMenu.add_command(label="Exit", command=quit, accelerator="Ctrl+Q")
config(menu=menubar)
对于菜单选项,请记住使用 ALT 后跟 OptionName 的第一个字母
文件菜单 = ALT 后跟 f
工具菜单 = ALT 后跟 t
等等
希望对你有用