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

标签 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 ***: 试图移除一个不相信我们是它的 parent 的 child 。

最佳答案

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

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

  • Building a gui app using wxPython (menubars)
  • LIBDBUSMENU-GLIB-WARNING

  • 最后一个有一个解决方案,可以删除菜单栏,这样您就不会再看到错误了,但听起来它不像跨平台的方式工作。

    关于python - Ubuntu 12.04 上的 wxPython 2.8.12.1 - 为什么不显示菜单图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22562046/

    相关文章:

    jquery - Django:返回带有 POST 参数的模板

    linux - 如何更改目录并在启动时使用 rc.local 运行命令

    Eclipse 无法在 Ubuntu 上获取 key 输入

    python - 将 Mono8 图像缓冲区转换为 wx.Bitmap 中 wxPython 中的可显示格式 Phoenix in Python

    python - 如何为小部件添加轮廓边框?

    python-2.7 - 在 wxPython 中将控件对齐到面板底部

    python - Python 中的递归和列表

    python - Beautiful Soup - 从 div 类内的外部引号中提取值

    python - 使用 AMPPS 在 Mac OS 上的 PyCharm 中安装 Msyqldb 或 Flask-mysqldb(或任何 mysql 客户端)时出现错误 "-fabi-version=2"

    linux - 在适用于 Linux 的 Windows 子系统中安装 Windows 共享