Matplotlib Figure NavigationToolbar2Wx를 사용하여 wx.Frame (또는 wx.Panel)의 간헐적으로이 문제가 발생했습니다. 확대/축소 아이콘 또는 팬 아이콘을 선택하면 아이콘이 사라지지만 빈 공간의 클릭은 도구를 계속 토글합니다. 가정용 아이콘, 뒤로 단계 또는 앞으로 단계는 모두 예상대로 작동합니다.wxPython 패널에서 Matplotlib 도구 모음 아이콘을 선택하면 사라짐
누구든지 1에 대한 조언을 제공 할 수 있습니까? 원인 및 해결 방법은 무엇입니까?
게시 용 joaquin 덕분에 초기 코드가 툴바를 포함하도록 약간 수정되었습니다. (http://stackoverflow.com/questions/10737459/embedding-a-matplotlib-figure-inside-a-wxpython-panel)
내가 사용 파이썬 2.6, wxPython을 2.9.2.4 OSX - 탄소 해요 (고전 나는이 특정 문제, 의 원인에 대해 언급 할 수는 없지만 나는 몇 가지 문제가 발생했다
#!/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()
NavigationToolbar2Wx와 NavigationToolbar2WxAgg를 모두 사용하여 확대/축소 및 이동 아이콘과 동일한 결과가 사라졌습니다. NavigationToolbar2가 숨겨져 있고 툴바가 프레임에 설정되었을 때 작동하는 것처럼 보이는 동일한 호출을 사용하여 새 툴바가 생성 된 비슷한 문제가 하나있었습니다. 나는 그것이 작동하는지보기 캔버스에 넣으려고하지 않았다. – user1032355
NavigationToolbar2Wx 툴바에 새로운 비트 맵 버튼을 추가하는 것이 문제인 것 같습니다. 추가 된 도구를 제거하면 문제가 사라집니다. 나는 추가 툴로 다른 툴바를 만들어야 할 것 같아. – user1032355