我在wx中的Matplotlib图形画布中使用Matplotlib NavigationToolbar2Wx时间歇性地遇到了这种行为。框架(或wx.面板)。如果选择了缩放图标或平移图标,图标将消失,但在空白区域单击仍会切换工具。“主页”、“后退”或“前进”步骤的图标均按预期运行。
有人能为我提供建议吗。是什么原因造成的。如何修复它?
感谢joaquin发布了最初的代码,稍微修改了工具栏。(http://stackoverflow.com/questions/10737459/embedding-a-matplotlib-figure-inside-a-wxpython-panel)
我正在使用python 2.6,wxPython2.9.2.4osx-碳(经典)和Matplotlib 1.1.0
谢啦
下面的代码显示了问题:
#!/usr/bin/env python
# encoding: UTF-8
"""
wxPython and Matplotlib Canvas with Matplotlib Toolbar.py
"""
from numpy import arange, sin, pi
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from matplotlib.figure import Figure
import wx
class CanvasPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.figure = Figure()
self.axes = self.figure.add_subplot(111)
self.canvas = FigureCanvas(self, -1, self.figure)
# Add Matplotlib Toolbar
# Add the Matplotlib Navigation toolBar here
self.toolbar=NavigationToolbar2Wx(self.canvas)
self.toolbar.AddLabelTool(5,'',wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR, (32,32)))
#self.Bind(wx.EVT_TOOL, self.NewTitle(), id=5)
self.toolbar.Realize()
# Add to Box Sizer
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.toolbar, 0, wx.LEFT | wx.TOP | wx.GROW)
self.sizer.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
self.SetSizer(self.sizer)
self.Fit()
def draw(self):
t = arange(0.0, 3.0, 0.01)
s = sin(2 * pi * t)
self.axes.plot(t, s)
if __name__ == "__main__":
app = wx.PySimpleApp()
fr = wx.Frame(None, title='test',size=(800,600))
panel = CanvasPanel(fr)
panel.draw()
fr.Show()
app.MainLoop()
我不能评论这个特定问题的原因,但是我在WxPython2.9的非Agg后端也遇到了一些问题(虽然代码在2.8中运行正常)。用Agg版本替换工具栏为我解决了这些问题;例如。:
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
==
from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg
并相应地调整代码:
self.toolbar=NavigationToolbar2Wx(self.canvas)
==
self.toolbar = NavigationToolbar2WxAgg(self.canvas)
hth, vbr
在此对话框您可以指定当浏览磁盘文件夹 (“在压缩文件外部时显示”选项) 或查看压缩文件内容 (“在压缩文件内部时显示”选项 ) 时,要显示哪一些工具栏按钮。可以改变按钮的顺序,只要选择您希望移动的按钮并按下“上移”或“下移”来改变它们的位置。如果您要恢复默认工具栏配置,按下“默认”按钮。 “分隔符”按钮在选择的当前按钮前插入一个分隔符线。如果您要移除一个分隔符,或者取消它的选择状态,或者再次按下“
我在活动文件中有一个膨胀的视图,布局文件碰巧有一个工具栏小部件,我希望用图标填充。我尝试使用code但是没有显示出来,工具栏文本也没有显示出来。布局的代码是这样的... 如何成功地使此工具栏在一个膨胀的视图中显示图标和文本?
如何从工具栏中获取图标以更改为使用bbdd中看到的方法获得的新图标。问题是我无法访问更新活动的事件以更改图标。我尝试使用onPreareOptionsMenu方法,但无法使其工作。我无法通过将代码放入onStart来做到这一点,因为它告诉我菜单对象为空或无效。 我的活动由AppCompactActive扩展并通过AdapterView加载。当我返回片段对话框或从下一个活动开始时,我遇到了问题。 谢
我一直在使用谷歌Chrome开发者工具。突然,工具栏图标消失了。它们通常位于、等的每个元素之上。现在他们走了。我想这没什么,因为我一开始就不需要它们。但是,有没有办法把它们重新打开呢?
我一直在使用谷歌Chrome开发工具。突然,工具栏图标消失了。它们曾经位于、等的上方。。。现在他们走了。我想这没关系,因为我一开始不需要它们。但是,有没有办法把它们重新打开?
工具, 面板, 视图 工具, 面板, 视图 常用快捷键 在全局设置下将单位修改为像素,因其在 CSS 中运用最广 (Preference -> Units & Rulers -> Units) 。设置工作区布局为切图及图片编辑做准备(所需窗口为信息窗口,图层窗口以及历史记录窗口)。 打开『信息窗口』、『图层窗口』、『历史纪录窗口』、『工具面板』、『选项』面板,可以通过 Window -> Work