使用OptionMenu事件更改tk.Label图像

时间:2018-07-13 16:06:47

标签: tkinter optionmenu photoimage

我一直在寻找答案,但似乎以前没有人遇到过这个问题。 我不知道我在想什么。这是代码的简化版,存在相同的问题:

app = tk.Tk()

location  = 'C:\\Users\\User\\Desktop'


image = location + '\\ab.PNG'
image_final = tk.PhotoImage(file = image)
var = tk.StringVar(app)
list_file=['1','2']



def do(event):

    if var.get() == 1:
        image = location + '\\cd.PNG'
    else:
        image = location + '\\ab.PNG'
    image_final = tk.PhotoImage(file = image)

    a.config(image = image_final)




style_optionMenu = ttk.Style()
style_optionMenu.configure('style_option.TMenubutton', background = "green", foreground = "white")
option_athletes = ttk.OptionMenu(app,var,list_file[0],*list_file, style = 'style_option.TMenubutton', command = do )
option_athletes.config(width = 20)
option_athletes.pack()    



a= tk.Label(master = app, image = image_final)
a.pack()


app.mainloop()

问题在于,尽管显示了第一张图像,但是每当我在OptioMenu中更改值时,该图像就会消失并且不再收割。 其他所有内容(不在此示例代码中)都运行良好。 是否有人有任何线索或知道更好的替代方法? 非常感谢你!

0 个答案:

没有答案