0

我开始Canvas在 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()
4

1 回答 1

2

在代码行中

canv.tag_bind(obj,'<Double-1>',Yellow())

该表达式Yellow()调用名为 的函数Yellow。为了简单地引用一个函数(比如将它绑定到一个事件)而不是调用它,你应该只写Yellow. 所以你的代码应该改为阅读

canv.tag_bind(obj,'<Double-1>',Yellow)
于 2013-07-19T04:08:49.877 回答