1

截屏:

在此处输入图像描述

这个问题可能是什么原因:是 Cygwin 问题,还是 wx/wxPython 问题,还是 Matplotlib 问题?

除了在每个情节上弹出有关缺少按钮图像的错误外,一切正常


后天:当我编译wx 以使用本机 Windows 图形界面(无需安装 X 服务器和 gtk)时,它基本上是 Windows 编译(不是 Cygwin 编译),因此它不理解 Cygwin POSIX 路径,而 Cygwin 包可以使用它。

不仅仅是 MPL 有这种问题,任何将 Cygwin 资源作为文件名传递给 wx 的 wx 包都有问题。一种解决方法是传递 python 对象而不是路径,因此对于上面的示例,这可以是这样的解决方法:

Matplotlib 使用_load_bitmap(filename as str)函数将这些按钮图形通过wx.Bitmap(filename). 像这样打补丁backend_wx.py

#   bmp = wx.Bitmap(bmpFilename)

    wxf = open(bmpFilename, 'rb')
    bmp = wx.BitmapFromImage(wx.ImageFromStream(wxf, wx.BITMAP_TYPE_ANY))
    wxf.close()

为 Matplotlib 解决了这个问题并且运行没有问题

我对适用于所有 wx 应用程序的更强大的解决方案感兴趣

4

0 回答 0