_tkinter.TclError: bitmap "pyimage2" not defined

_tkinter.TclError: bitmap "pyimage2" not defined

我想在菜单栏上显示一个图标,所以使用这个 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

如何解决这个问题?

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

打开图像文件

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

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