python wxpython backend wxagg_如何刷新wx.面板正确地?

我正在使用wxPython创建一个图像查看器。我想单独查看多个图像,所以我写了下面的代码(部分)。在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.成长. 此外,当我通过拖动窗口的一角来调整窗口大小时,它看起来如下所示。在

画布面板的大小更改正确!为什么?如何在不调整大小的情况下修改代码以适应查看器中的画布面板。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值