我正在使用Tkinter GUI框架编写Python应用程序。它需要监听键盘和鼠标事件,因此必须具有焦点。当它在Ubuntu终端中启动时,以下代码可以运行:
from Tkinter import *
root = Tk()
root.focus_force()
def key(event):
print "pressed", event.char
def callback(event):
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()
frame.focus_force()
root.mainloop()
然而,在Mac OS X 10.8.4(默认Python 2.7.2)的终端中启动时,焦点保留在终端仿真器上,直到用户单击窗口。有人知道如何解决这个问题吗?