我只是想知道是否有任何可能的方法使用 Tkinter 将单击事件绑定到画布。
我希望能够单击画布上的任意位置并将对象移动到其中。我能够做出动作,但我还没有找到将点击绑定到画布的方法。
直接取自 Effbot 的示例tutorial关于事件。
在此示例中,我们使用框架小部件的绑定方法将回调函数绑定到名为 的事件。运行该程序并单击出现的窗口。每次单击时,控制台窗口都会打印一条类似“clicked at 44 63”的消息。键盘事件被发送到当前拥有键盘焦点的小部件。您可以使用 focus_set 方法将焦点移动到小部件:
from Tkinter import *
root = Tk()
def key(event):
print "pressed", repr(event.char)
def callback(event):
print "clicked at", event.x, event.y
canvas= Canvas(root, width=100, height=100)
canvas.bind("<Key>", key)
canvas.bind("<Button-1>", callback)
canvas.pack()
root.mainloop()
Update:如果窗口/框架包含像 Tkinter.Entry 小部件这样具有键盘焦点的小部件,则上面的示例将不适用于“按键”事件。推杆:
canvas.focus_set()
在“回调”函数中将为画布小部件提供键盘焦点,并导致后续键盘事件调用“键”函数(直到其他小部件获取键盘焦点)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)