【发布时间】:2018-06-21 08:56:49
【问题描述】:
我想在tkinter 的顶框中添加一张图片。它适用于MainMenu,但不适用于SideMenu。运行时,它应该在第一个菜单上显示_test.gif,当按下按钮时,打开第二个菜单并显示_test2.gif。目前,第二个菜单是空白的 - 没有图像。
代码:
import tkinter as tk
class MainMenu(object):
def __init__(self):
self.launch_MainMenu()
def launch_MainMenu(self):
self._mainMenuWindow = tk.Tk()
self.imageGIF = tk.PhotoImage(file="_test.gif");
self.imageLabel = tk.Label(self._mainMenuWindow,image=self.imageGIF)
self.imageLabel.grid(row=0,column=1,padx=10,pady=10)
tk.Button(self._mainMenuWindow,text="Next Menu",
command=SideMenu).grid(row=0,column=2,padx=10)
tk.mainloop()
class SideMenu(object):
def __init__(self):
self.launch_sideMenu()
def launch_sideMenu(self):
self._sideWindow = tk.Toplevel()
self.imageGIF2 = tk.PhotoImage(file="_test2.gif")
self.imageLabel2 = tk.Label(self._sideWindow,image=self.imageGIF2)
self.imageLabel2.grid(row=0,column=1,padx=10,pady=10)
【问题讨论】:
-
此adding image to tkinter gui 将对您的问题有所帮助。您将需要添加“自我”。在局部变量(imageXxx)之前。
-
@kunif:一开始我也是这么想的,但这不是这里的问题。
-
抱歉,我过度简化了我的原始代码。这是 2 张不同的图片。
-
MainMenu 类的变量前面没有“self.”。而且,initialie Tk() 和 mainloop 放在 MainMenu 类之外会更好吗? .
-
感谢您的建议 kunif。我已经添加了自我。到主菜单中的所有内容,但第二张图像仍未显示。请问您能提供更多帮助吗?