【发布时间】:2017-01-15 03:15:56
【问题描述】:
我已将图像加载到 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是不是和Tkinter的PhotoImage一样。在 Python 中,有垃圾收集,有时它不会做我们希望它做的事情。您需要做什么才能将图像作为单独的实例,然后将其应用于类,否则,Python 会收集您的图像实例。
image = Image.open("demo.jpg")和photo = PhotoImage(image)一起可能会起作用。 -
@PrestonHager 试过但没用
标签: python user-interface tkinter