我希望按钮的图像循环显示所有可能的披萨图像,但是当我点击它时会抛出以下错误:
self.config(image=next(self.images))
AttributeError: 'buttonInitialize' object has no attribute 'config'
这是代码。我知道这很难看,对不起。我几乎不懂python类,所以我无法弄清楚如何将重复的部分分解出来
from tkinter import *
from itertools import cycle
class buttonInitialize:
def __init__ (self,enabler):
frame=Frame(enabler)
frame.pack()
pizzaList=[]
pizzaList.append(PhotoImage(file="Cheese.png").zoom(10))
pizzaList.append(PhotoImage(file="AvocadoWSauce.png").zoom(10))
pizzaList.append(PhotoImage(file="AvocadoWCheese.png").zoom(10))
self.images=cycle(pizzaList)
self.printButton=Button(frame,image=pizzaList[0] ,command=self.nextPizza)
self.printButton.pack(side=LEFT)
def nextPizza(self):
self.config(image=next(self.images))
root=Tk()
c=buttonInitialize(root)
root.mainloop()
答案 0 :(得分:1)
使用self.printButton.config()
而不是self.config()