[Python] numero arbitrario di label tkinter
Matteo Perini
perini.matteo a gmail.com
Mar 25 Ott 2016 17:18:30 CEST
Ciao a tutti,
mi ritrovo con un piccolo dilemma.
Vorrei fare una specie di preview delle immagini in una cartella e
visualizzarle in una finestra (stile pop-up) in tkinter
#############################
Ho costruito una classe per la finestra:
class Images_Dialog(tkinter.Toplevel):
def __init__(self, parent, path, images):
tkinter.Toplevel.__init__(self, parent)
self.parent = parent
for n,i in enumerate(images):
with Image.open(path+'/'+i) as img:
#img.show()
tkinter.Label(self, image=
ImageTk.PhotoImage(img)).grid(row=2, column=n)
self.exit_button = ttk.Button(self, text="Exit",
command=self.cancel)
self.exit_button.grid(row=4, column=0, columnspan=2, sticky='NSWE')
self.grab_set()
self.protocol("WM_DELETE_WINDOW", self.cancel)
self.focus_set()
self.wait_window(self)
def cancel(self, event=None):
self.parent.focus_set()
self.destroy()
##########################
Come vedete è tutto molto semplice... ma le immagini non vengono
visualizzate.
Se decommento img.show() le immagini vengono mostrate (ma non nelle label)
se cambio il numero e la dimensione delle immagini cambia anche la
dimensione della finestra quindi mi sembra di capire che qualcosa venga
riconosciuto.
Temo che il problema è come genero un numero arbitrario di label ma non
saprei in che altro modo fare quindi vi chiedo un consiglio.
Ciao
M.
Maggiori informazioni sulla lista
Python