I am trying to display an image to a tkinter GUI using tkinter.Label() widget.
(我正在尝试使用tkinter.Label()小部件向tkinter GUI显示图像。)
The procedure seems simple and straightforward, but this code doesn't work! (该过程看起来很简单明了,但是此代码不起作用!)
code:
(码:)
import Tkinter as tk
import Image, ImageTk, sys
filename = 'AP_icon.gif'
im = Image.open(filename) # Image is loaded, because the im.show() works
tkim = ImageTk.PhotoImage(im)
root = tk.Tk()
label = tk.Label(root, image = tkim) # Here is the core problem (see text for explanation)
label.image = tkim # This is where we should keep the reference, right?
label.grid (row = 0, column = 0)
tk.Button(root, text = 'quit', command = lambda: sys.exit()).grid(row = 1, column = 1)
root.mainloop()
When we execute this code, it doesn't compile, giving an error:
(当我们执行此代码时,它不会编译,并给出一个错误:)
TclError: image "pyimage9" doesn't exist
When I define label
without its parent root
, No compilation error occurs, but the GUI does not display any image!
(当我定义不带其父root
label
时,不会发生编译错误,但是GUI不会显示任何图像!)
Can anyone identify what could be the issue?
(任何人都可以找出问题所在吗?)
ask by Mithun Padmakumar translate from so 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…