python 按钮点击之后如何修改其背景图

问题描述: 用tkniterk模块 ,需要在按钮点击时候变换按钮的背景图片,以下代码按钮点击之后调用了configure重新配置了按钮背景图片,但是背景图片没有显示出来,如果把configure放在外面是可以更换背景图的。放在点击调用的函数中无法更换背景图,为什么呢?


import tkinter

btn1 = None

def change_bg():
    image1=get_image(".\\image\\樱桃.png",50,50)
    btn1.configure(image=image1)
    btn1.update()
    
btn1 = tkinter.Button(root,text = '樱桃',bg = 'green',command=change_bg)

if __name__ == '__main__':

    
    root.title('test')
    root.minsize(300,300)
 
    btn1.place(x = 20,y = 20,width = 50,height = 50)
    image1=get_image(".\\image\\桃子.png",50,50)
    btn1.configure(image=image1)

    root.mainloop()  

你需要在更换背景图片之前先调用btn1.image = image1,将图片对象保存在按钮的image属性中,然后再调用btn1.configure(image=image1)来更换背景图片。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^