Ткинтер - не покажет картину - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть фрагмент кода 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()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...