class PlotCanvas(FigureCanvas):
def __init__(self, parent=None, width=50, height=40, dpi=100):
fig = Figure(figsize=(width, height), dpi=dpi)
self.axes = fig.add_subplot(111)
FigureCanvas.__init__(self, fig)
self.setParent(parent)
FigureCanvas.setSizePolicy(self,
QSizePolicy.Expanding,
QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
m = Basemap(ax=self.axes)
m.drawcoastlines()
m.fillcontinents(color=(255./255., 237./255., 163./255.) )
m.drawparallels(np.arange(-90.,91.,30.))
m.drawmeridians(np.arange(-180.,181.,60.))
m.drawmapboundary(fill_color='aqua')
Я строю вышеупомянутый холст внутри qmainwindow
.После этого я хочу, чтобы этот холст был заменен обновлением basemap
, которое вызывается в другой функции.Проблема в том, что когда я вызываю другую функцию и рисую обновленную карту, она открывается в новом окне, а не заменяет старую.