我开始在Python中使用Canvas对象。 我创造了以下简单的工作:意图是一个蓝色三角形,当双击时,变成黄色。 相反,它从一开始就是黄色的。我做错了什么?
#!/usr/bin/python
from Tkinter import *
def Yellow():
canv.itemconfigure(obj,fill='yellow')
root=Tk()
canv=Canvas(root,width=200,height=200)
obj=canv.create_polygon(100,100,120,120,120,80,fill='blue')
canv.tag_bind(obj,'<Double-1>',Yellow())
canv.pack()
root.mainloop()
答案 0 :(得分:2)
在代码行中
canv.tag_bind(obj,'<Double-1>',Yellow())
表达式Yellow()
调用名为Yellow
的函数。为了简单地引用一个函数(比如将它绑定到一个事件)而不是调用它,你应该只写Yellow
。所以你的代码应该改为阅读
canv.tag_bind(obj,'<Double-1>',Yellow)