截图:
这个问题的原因是:Cygwin问题,wx / wxPython问题,还是Matplotlib问题?
除了这个错误弹出每个情节上缺少按钮图像,一切正常
第二天:当我compiled wx使用本机Windows图形界面(不需要安装X服务器和gtk)时,它基本上是Windows编译(不是Cygwin编译)所以它不理解Cygwin POSIX路径而Cygwin包可以使用它。
这不仅仅是MPL以这种方式存在问题,而是任何将Cygwin资源作为文件名传递给wx的wx包。一种解决方法是传递python对象而不是路径,因此对于上面的示例,这可以是这样的解决方法:
Matplotlib使用_load_bitmap(filename as str)
函数将这些按钮图形传递给wx到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应用程序的更强大的解决方案感兴趣