Ubuntu 12.04上的wxPython 2.8.12.1 - 为什么不显示菜单图标?

时间:2014-03-21 14:50:25

标签: python ubuntu wxpython

我从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 ***:试图删除一个不相信我们父母的孩子。

1 个答案:

答案 0 :(得分:1)

听起来Unity采用所有菜单栏并将它们放入全局菜单 - http://ubuntuforums.org/showthread.php?t=2004101

这两个链接更多地讨论了这个问题:

最后一个解决方案是以一种方式删除菜单栏,使您不再看到错误,但听起来不像是以跨平台方式工作。