【问题标题】:How do I cycle through images in Tkinter?如何在 Tkinter 中循环浏览图像?
【发布时间】:2017-10-04 02:51:18
【问题描述】:

我想让按钮的图像循环显示所有可能的披萨图像,但是当我单击它时会引发以下错误:

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()

【问题讨论】:

  • 为什么你认为buttonInitialize 有一个config 方法?
  • 我可以给它一份吗?

标签: python python-3.x class tkinter


【解决方案1】:

使用 self.printButton.config() 代替 self.config()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-21
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多