python wxpython backend wxagg_如何刷新wx.面板正确地?
我正在使用wxPython創(chuàng)建一個圖像查看器。我想單獨查看多個圖像,所以我寫了下面的代碼(部分)。在from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.figure import Figure
class CanvasPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.figs = []
self.axes = []
self.canvases = []
self.panelsizers = []
def draw(self, data):
"""data is 2D numpy array"""
fig = Figure()
self.figs.append(fig)
ax = fig.add_subplot(111)
ax.imshow(data, interpolation='none')
self.axes.append(ax)
canvas = FigureCanvas(self, wx.ID_ANY, fig)
self.canvases.append(canvas)
panelsizer = wx.BoxSizer()
panelsizer.Add(canvas, 1, wx.GROW)
self.panelsizers.append(panelsizer)
self.SetSizer(panelsizer)
除了一個小問題,這幾乎是完美的。在
當我運行代碼并打開一個圖像時,窗口如下所示。在
這個窗口由三個部分組成wx.面板中間一個是畫布面板。您可以看到,CanvasPanel的大小有點小,即使比例=1和樣式=wx.成長. 此外,當我通過拖動窗口的一角來調(diào)整窗口大小時,它看起來如下所示。在
畫布面板的大小更改正確!為什么?如何在不調(diào)整大小的情況下修改代碼以適應查看器中的畫布面板。在
總結
以上是生活随笔為你收集整理的python wxpython backend wxagg_如何刷新wx.面板正确地?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adapt和adopt的区别_“适应”是
- 下一篇: python队列来做什么_python分