[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