Questo codice funziona:Perché l'immagine Tkinter non viene visualizzata se è stata creata in una funzione?
import tkinter
root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.grid(row = 0, column = 0)
photo = tkinter.PhotoImage(file = './test.gif')
canvas.create_image(0, 0, image=photo)
root.mainloop()
Mi mostra l'immagine.
Ora, questo codice viene compilato, ma non mi mostra l'immagine, e io non so perché, perché è lo stesso codice, in una classe:
import tkinter
class Test:
def __init__(self, master):
canvas = tkinter.Canvas(master)
canvas.grid(row = 0, column = 0)
photo = tkinter.PhotoImage(file = './test.gif')
canvas.create_image(0, 0, image=photo)
root = tkinter.Tk()
test = Test(root)
root.mainloop()
Possibile duplicato [Impossibile visualizzare un'immagine in Tkinter] (https://stackoverflow.com/questions/3359717/cannot-display-an-image-in-tkinter) – Nae