首页 > 解决方案 > 异常 AttributeError:当我尝试让 Tkinter 刷新图像时

问题描述

我是 Tkinter 的新手,但我想让我的 jpg 图像每 5 秒刷新一次,我已经编写了这段代码,但是我遇到了异常属性错误。有人可以指导我吗?

我收到此错误:

Exception AttributeError: "'PhotoImage' object has no attribute '_PhotoImage__ph
oto'" in <bound method PhotoImage.__del__ of <PIL.ImageTk.PhotoImage object at 0
x754b16f0>> ignored


# -*- coding: utf-8 -*-
from Tkinter import *

from apscheduler.schedulers.background import BackgroundScheduler
from PIL import ImageTk, Image
import time

window = Tk()
scheduler = BackgroundScheduler()
a = 0

def readimage():
        global a, img, img1, img2, imglab
        a = a +1
        img = Image.open("./web1.jpg")
        img1 = img.resize((288, 162), Image.ANTIALIAS)
        img2 = ImageTk.PhotoImage(img1)

readimage()

window.attributes('-fullscreen', True)
window.configure(background = "black")
endbutton = Button(window, text="exit", command=window.destroy)
endbutton.grid(row=1,column=1, sticky="nw")
alabel = Label(window, text=a)
alabel.grid(row=2, column=2, sticky="w")
imglab = Label(window, image=img2, bg="black",fg="white",  font=("Arial", 18))

imglab.place(relx=.6, rely=1.0,anchor="sw")
imglab.lower()

window.update()

scheduler.add_job(readimage, 'interval', seconds=5)
scheduler.start()
while True:
        time.sleep(1)
        alabel[ "text"]=a
        imglab[ "image"]=img2
        window.update()

mainloop()

标签: python-2.7tkinter

解决方案


推荐阅读