Me gustaría poder cambiar una imagen en una etiqueta de Tkinter, pero no estoy seguro de cómo hacerlo, excepto para reemplazar el widget en sí.¿Cómo actualizar la imagen de un widget Tkinter Label?
Actualmente, puedo mostrar una imagen de este modo:
import Tkinter as tk
import ImageTk
root = tk.Tk()
img = ImageTk.PhotoImage(Image.open(path))
panel = tk.Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
root.mainloop()
Sin embargo, cuando los accesos de los usuarios, dicen que la clave ENTER
, me gustaría cambiar la imagen.
import Tkinter as tk
import ImageTk
root = tk.Tk()
img = ImageTk.PhotoImage(Image.open(path))
panel = tk.Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
def callback(e):
# change image
root.bind("<Return>", callback)
root.mainloop()
¿Esto es posible?
¿Debe la línea en la devolución de llamada leer 'panel.image = img2'? – 101
@figs parece que tendría sentido. No recuerdo específicamente tener que modificar este uso, pero esto también fue hace más de cuatro años. ¿Podrías probarlo para verificar? – skeggse
Sí, ese probablemente fue el problema. Probado con un código ligeramente diferente, pero con el mismo problema. –