Chciałbym móc zamienić obraz na etykiecie Tkinter, ale nie jestem pewien jak to zrobić, z wyjątkiem wymiany samego widżetu.Jak zaktualizować obraz widżetu Tkinter Label?
Obecnie mogę wyświetlić obraz tak:
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()
Jednak, gdy użytkownik kliknie, powiedzmy klawisz ENTER
, chciałbym zmienić obraz.
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()
Czy to możliwe?
Czy linia w oddzwonieniu powinna brzmieć 'panel.image = img2'? – 101
@figs wydaje się, że to miałoby sens. Nie przypominam sobie konkretnie konieczności modyfikowania tego użycia, ale to było również ponad cztery lata temu. Czy możesz przetestować go, aby zweryfikować? – skeggse
Tak, to prawdopodobnie był problem. Testowany z nieco innym kodem, ale z tym samym problemem. –