如何在tkinter中的按钮上重置图像?

时间:2015-05-22 03:02:41

标签: python image button tkinter

我在互联网上搜索过,似乎找不到删除我放在按钮上的图像的方法。我想知道是否有办法删除图像,但保持按钮或任何其他简单的快速修复。这是我的一些代码供参考。

def breakcup():
    if firstroom.cupnotbroken:
        messagebutton.config(text="You broke the cup, and the key was inside the cup.")
        cup.config(image=photo4)
        firstroom.cupnotbroken=False
    else:
        cup.config(image=None, state=DISABLED)
        messagebutton.config(text="You picked up the key")
        firstroom.keynotfound=False

显然,image=None不起作用,但它是我能找到的最接近解决方案的东西。

root = Toplevel(bob)
root.geometry("640x360+200+250")
root.resizable(0, 0)
app = Room1(root)

使用Toplevel(parent)功能制作窗口。只是为了澄清。

1 个答案:

答案 0 :(得分:1)

这似乎是Tkinter的一个错误。根据我的实验,将图像设置为空字符串而不是None

似乎是安全的
messagebutton.configure(image="")

这是有效的,因为在底层的tcl / tk解释器"一切都是字符串"。也就是说,等同于None的tcl是""。当您指定一个空字符串时,Tkinter将该空字符串传递给tcl,并且tcl将其解释为" no image"。