В pyqt5 есть ли способ заменить холст фигуры моей обновленной базовой картой, когда я нажимаю кнопку ОК? - PullRequest
0 голосов
/ 02 февраля 2019
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, которое вызывается в другой функции.Проблема в том, что когда я вызываю другую функцию и рисую обновленную карту, она открывается в новом окне, а не заменяет старую.

...