我试图每1秒更改一个矩形的颜色,并且由于某种原因只使用最后一种颜色。这两者之间根本不使用。我在哪里做错了?这里是我的代码 -方法不工作后的tkinter(Python)
class app():
def __init__(self):
self.root = Tk()
self.root.minsize(500, 500)
self.root.maxsize(500, 500)
self.counter = 4
self.color = ["red","green","yellow","grey"]
self.mainframe = Canvas(self.root, width=400, height=200)
self.blue = self.mainframe.create_rectangle(20,20,120,60,fill='blue',width=0)
self.mainframe.pack()
Button(self.root,text="press",command=self.click).pack()
self.root.mainloop()
def click(self):
self.root.after(1000,self.__timer)
def __timer(self):
if self.counter > 0:
for i in range(self.counter):
self.mainframe.itemconfigure(self.blue_button,fill=self.color[i])
self.root.after(1000,self.__timer)
self.counter -= 1
东西的初始颜色是什么? (在红色之前)。它是灰色的吗?如果是,那么我认为这可能是点击没有被调用...放入一些调试打印语句,看看是否有东西被调用,当你认为它应该是 – Sheena
这是一个蓝色 – Andrew