'(Tkinter) Image won't show up in new window

I just started using python tkinter and I have a button that opens a new window. One the new window there is an image, but the image won't show up.Can you please help me solve my problem?

from tkinter import *

def nwindow():
    nwin = Toplevel()
    nwin.title("New Window")
    btn.config(state = 'disable')

    photo2 = PhotoImage(file = 'funny.gif')
    lbl2 = Label(nwin, image = photo2)
    lbl2.pack()

def quit():
    nwin.destroy()
    btn.config(state = 'normal')

qbtn = Button(nwin, text = 'Quit', command = quit)
qbtn.pack()

main = Tk()
main.title("Main Window")
main.geometry("750x750")

photo = PhotoImage(file = 'funny.gif')
lbl = Label(main, image = photo)
lbl.pack()

btn = Button(main, text = "New Winodw", command = nwindow)
btn.pack()

main.mainloop()


Solution 1:[1]

your coding doesn't work but putting .mainloop() should fix your issue

def nwindow():
    nwin = Toplevel()
    nwin.title("New Window")
    btn.config(state = 'disable')

    photo2 = PhotoImage(file = 'funny.gif')
    lbl2 = Label(nwin, image = photo2)
    lbl2.pack()
    nwin.mainloop()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Tom Lowbridge