在wxPython 2.8.x、Python 2.5.4/2.6、matplotlib 0.99.x上运行时,下面的代码在帧顶部生成matplotlib NavToolbar2
不过,我最近迁移到了python2.7和wxpython2.9.1,试图支持64位的osx。正是在这种环境下,下面的代码生成了一个空工具栏:
我注意到在构建matplotlib时,它说wx2.9及更高版本不需要WxAgg,这可能是问题所在吗?到目前为止,我所做的就是用FigureCanvasWx
替换{NavigationToolbar2Wx
替换{
你知道怎么回事吗?在
import wx
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg, NavigationToolbar2WxAgg
import matplotlib as mpl
app = wx.PySimpleApp()
f = wx.Frame(None)
fig = mpl.figure.Figure()
p = FigureCanvasWxAgg(f, -1, fig)
tb = NavigationToolbar2WxAgg(fig.canvas)
f.SetToolBar(tb)
tb.Realize()
f.Show()
app.MainLoop()
还有一件事。。。如果我用我自己的自定义navtoolbar类替换NavigationToolbar2WxAgg(这个线程的第一个答案是代码:Add new navigate modes in matplotlib),那么除非我删除tb.Realize()
,否则整个过程都会崩溃。在
这看起来像是一个bug,但我不知道问题是出在matplotlib中,还是在wxPython中还是在后端_周x.py. 我所做的是在backend_wx.py source code中查找工具栏并将其直接放入wxPython工具栏中。所以这对我很有用:
这是一个快速修复,但我想有些人必须为此提交一个错误报告。在
相关问题 更多 >
编程相关推荐