我从here借用了一个示例代码,并根据我的目的对其进行了修改:
import wx
def getBmp():
bmp = wx.EmptyBitmapRGBA(16,16, red=100, green=50, blue=50)
return bmp
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, style=wx.DEFAULT_FRAME_STYLE, parent=None)
self.SetTitle("why No image?")
menuBar = wx.MenuBar()
fileMenu = wx.Menu()
item = fileMenu.Append(wx.ID_NEW, "New")
item.SetBitmap(getBmp())
item = fileMenu.Append(wx.ID_OPEN, "Open")
item.SetBitmap(getBmp())
item = fileMenu.Append(wx.ID_SAVE, "Save")
item.SetBitmap(getBmp())
menuBar.Append(fileMenu, "File")
self.SetMenuBar(menuBar)
app = wx.PySimpleApp()
frame = MyFrame()
frame.Show()
app.SetTopWindow(frame)
app.MainLoop()
问题:在我的系统配置(Ubuntu 12.04和wxPython 2.8.12.1)中,没有为任何菜单条目显示图标/位图。除非关闭窗口,否则没有错误消息:
*(python:3321):LIBDBUSMENU-GLIB-WARNING ***:试图删除一个不相信我们父母的孩子。
答案 0 :(得分:1)
听起来Unity采用所有菜单栏并将它们放入全局菜单 - http://ubuntuforums.org/showthread.php?t=2004101
这两个链接更多地讨论了这个问题:
最后一个解决方案是以一种方式删除菜单栏,使您不再看到错误,但听起来不像是以跨平台方式工作。