我有一个带图像的标签,以及一个应该更新标签/删除标签中图像的按钮,这样我就可以通过label.config将新图像放入同一个标签。
我尝试使用类似的东西:每当你点击按钮时,它应该用label.config(图像=无)删除图像,但它不起作用,如果我将新图像加载到标签中旧图像仍然是有:
# here is the label initialized
global brand_preview
brand_preview = Label(root, image = None)
brand_preview.place(x = 10, y = 60)
# thats the button which have to clear the label image
self.top_brand = Button(root, text = "clear", bg = "snow3", command=clear_label_image)
self.top_brand.place(x = 550, y = 60)
# thats how I load a photoimage into the label
photoimg_brand = ImageTk.PhotoImage(im_thumb)
brand_preview.image = photoimg_brand
brand_preview.config(image = photoimg_brand)
# Thats how the button works
def clear_label_image():
brand_preview.config(image = None)
brand_preview.image = None
我现在想要的是,如果我点击按钮,brand_preview会丢失图像/图像被删除
编辑: 主要问题已解决,但只有在按钮只需要删除图像时才有效。如果我想删除并添加一个新的,它不起作用
def clear_label_image():
brand_preview.config(image = "")
photoimg_brand = ImageTk.PhotoImage(im_thumb)
brand_preview.image = photoimg_brand
brand_preview.config(image = photoimg_brand)
答案 0 :(得分:7)
你非常接近 - image
参数只需要一个空字符串而不是None
。
def clear_label_image():
brand_preview.config(image='')
答案 1 :(得分:0)
经过一些谷歌搜索,我找到了这个解决方案
def clear_label_image():
#brand_preview.config(image = None)
brand_preview.image.blank()
brand_preview.image = None
这肯定会清除按钮上的图像。我还没有尝试换到新的形象。
我刚从网上复制它,它起作用了。我用
创建了图像photoimg_brand = tk.PhotoImage(file='/usr/share/httpd/icons/world1.gif')
我用python 2.7做了这个,我唯一的导入是import Tkinter as tk
答案 2 :(得分:0)
如果您使用tf.keras.layers.Layer
来显示图像,则可以执行以下操作:
label
label.pack_forget()
应该是全局的