我一直在寻找答案,但似乎以前没有人遇到过这个问题。我不知道我错过了什么。这是代码的简化版本,有同样的问题:
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 中的值时,图像就会消失并且不再收割。其他一切(不在此示例代码中)都运行良好。有没有人有任何线索或知道更好的选择来做到这一点?非常感谢!