Я загрузил изображение на метку tkinter, и это изображение дублируется на этой метке. Когда я нажимаю кнопку, мне нужно изменить это изображение. При нажатии кнопки старое изображение исчезло, но новое изображение не отображается Мой кодTkinter не меняет изображение при нажатии кнопки
import Tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
def change_pic(labelname):
photo1 = ImageTk.PhotoImage(Image.open("demo.jpg"))
labelname.configure(image=photo1)
print "updated"
vlabel=tk.Label(root)
photo = ImageTk.PhotoImage(Image.open('cardframe.jpg'))
vlabel.configure(image=photo)
vlabel.pack()
b2=tk.Button(root,text="Capture",command=lambda:change_pic(vlabel))
b2.pack()
root.mainloop()
Я не знаю, если PIL такая же, как PhotoImage Tkinter в. В Python есть сборка мусора, и иногда она не делает того, что мы хотим. Что вам нужно сделать, чтобы получить изображение в виде отдельного экземпляра, тогда примените его к классу, иначе Python будет собирать ваш экземпляр изображения. 'image = Image.open (" demo.jpg ")' и 'photo = PhotoImage (изображение)' вместе могут работать. –
@PrestonHager пробовал, но не работает – user6745741