Tkinter imagen que no muestra o da un error

He intentado dos cosas diferentes para tratar de obtener una imagen para mostrar en una etiqueta

#This gives " TclError: couldn't recognize data in image file "TestImage.gif" " imgPath = "TestImage.gif" photo = PhotoImage(file = imgPath) label = Label(image = photo) label.image = photo # keep a reference! label.grid(row = 3, column = 1, padx = 5, pady = 5) 

y

 #This gives no error but the image doesn't show imgPath = "TestImage.gif" photo = PhotoImage(imgPath) label = Label(image = photo) label.image = photo # keep a reference! label.grid(row = 3, column = 1, padx = 5, pady = 5) 

La imagen está en la misma carpeta que todo el código. ¿Alguna sugerencia sobre cómo mostrar una imagen?

Bryan Oakley tiene razón, la imagen no es un jpg en términos de contenido, a pesar de que su sistema de archivos cree que es un gif.

Por mi parte, intenté abrir un archivo jpg con tu progtwig y obtuve el mismo error ‘TclError: no se pudieron reconocer los datos en el archivo de imagen “hello.jpg”.’

Así que puedes hacer esto: abre tu imagen con mspaint, luego ve a Archivo> Guardar como y en el menú desplegable “Guardar como tipo”, elige GIF. Entonces el código debería funcionar. Esto es lo que usé:

 from Tkinter import * root = Tk() imgPath = r"hello.gif" photo = PhotoImage(file = imgPath) label = Label(image = photo) label.image = photo # keep a reference! label.grid(row = 3, column = 1, padx = 5, pady = 5) root.mainloop() 

(por cierto, si cambié la línea 7 de arriba a photo = PhotoImage(imgPath) entonces, como usted, no aparece ninguna imagen. Así que déjelo como photo = PhotoImage(file = imgPath) )