У меня есть фрагмент кода Tkinter, который является частью более крупной программы, и я хотел бы вставить изображение logon.gif
в это окно Tkinter. Но когда я выполняю этот код
import PIL
from PIL import Image
from PIL import ImageTk
from tkinter import *
parent = Tk()
photo = PhotoImage(file="logon.gif")
w = Label(parent, image=photo)
w.photo = photo
w.pack()
parent.mainloop()
(который работает в другой программе) показывает сообщение об ошибке:
`_tkinter.TclError: image "pyimage1" doesn't exist`
Это потому, что я использую tkinter в цикле while в программе?
Вот код, который делает сообщение об ошибке (у меня там тоже есть функции, но это слишком долго, чтобы вставить его здесь как целый код)
root = tk.Tk()
photo = PhotoImage(file="logon.gif") # HERE
w = Label(root, image=photo) #HERE
root.title('Mirror')
root.overrideredirect(True)
root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight()))
lab = Label(root, text="日本に \n ようこそ", font = ('', 40), bg='black', fg='white')
lab.pack(anchor=SW, fill=X, padx=45)
masterclock = tk.Label(root)
masterclock.pack(anchor=NW, fill=X, padx=45)
masterclock.configure(background='black')
clock_frame = tk.Label(root, font = ('caviar dreams', 130), bg='black', fg='aqua')
clock_frame.pack(in_=masterclock, side=LEFT)
clock_frame2 = tk.Label(root, font = ('caviar dreams', 70), bg='black', fg='white')
clock_frame2.pack(in_=masterclock, side=LEFT, anchor = N, ipady=15)
msg = tk.Label(root, font = ('caviar dreams', 16), bg='black', fg='white')
msg.pack(padx=5, pady=5, anchor=W)
newstitle = tk.Label(root, font = ('caviar dreams', 30), bg='black', fg='white',wraplength=600)
newstitle.pack(side=BOTTOM, anchor=W, fill=X)
source = tk.Label(root, font = ('caviar dreams', 14), bg='black', fg='white',wraplength=600)
source.pack(side=BOTTOM, anchor=W, fill=X)
weatherr = tk.Label(root, font = ('caviar dreams', 14), bg='black', fg='white')
weatherr.pack(side=TOP, anchor=E, fill=Y)
w.photo = photo #HERE
w.pack(side=TOP, anchor=W, fill=Y) #HERE
msq()
weathere()
newsheader()
tick()
tickk()
tock()
display_next_item() # <- start displaying
#root.attributes("-fullscreen", True)
root.configure(background='black')
startupscreen.destroy()
root.mainloop()