_tkinter.TclError:bitmap" pyimage2"没有定义的

时间:2015-04-20 12:11:03

标签: python python-2.7 tkinter

我想在菜单栏上显示一个图标,因此使用此information,我对此进行了编码:

img = Image.open("help.png") 
menubar.add_cascade(label="Help",menu=helpmenu,bitmap=ImageTk.PhotoImage(img))

我收到了这个错误:

Traceback (most recent call last):
  File "mine.py", line 67, in <module>
    m.menus(root)
  File "mine.py", line 55, in menus
     menubar.add_cascade(label="Help",menu=helpmenu,bitmap=ImageTk.PhotoImage(img))
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2699, in add_cascade
    self.add('cascade', cnf or kw)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2696, in add
    self._options(cnf, kw))
_tkinter.TclError: bitmap "pyimage2" not defined

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

要显示PhotoImage,您应使用image属性,而不是bitmap
您也可以使用ImageTk.PhotoImage(file='...')

直接打开图像文件

因此,您可以使用以下代码在菜单中显示图像:

img = ImageTk.PhotoImage(file="help.png") 
menubar.add_cascade(label="Help", menu=helpmenu, image=img)