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.


_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a