@amperka213

Как мне удалить график matplotlib, чтобы потом встал на его место новый график?

Написал программу , но не знаю что именно нужно удалить в QWidget , чтобы туда вставился новый график matplotlib
Удалял разные части и получал разные ошибки, но в основном это была она "QLayout: Attempting to add QLayout "" to QWidget "widget", which already has a layout"
# -*- coding: utf-8 -*-
from PySide2 import QtCore, QtGui, QtWidgets
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
from ui_Postroeni9 import Ui_MainWindow
from graf0 import graf0stroy
from graf0canvas import MyMplCanvas
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT as NavigationToolbar


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.setupUi(self)
        self.lineEdit_2.setText("0")
        self.lineEdit_3.setText("0")
        self.lineEdit.setText("0")
        self.lineEdit_4.setText("0")
        self.lineEdit_5.setText("0")
        self.lineEdit_6.setText("0")
        self.lineEdit_7.setText("0")

        self.pushButton.clicked.connect(self.stroygraf01)
        self.pushButton_4.clicked.connect(self.stroygraf01)
        self.pushButton_5.clicked.connect(self.stroygraf01)
        self.pushButton_7.clicked.connect(self.stroygraf01)
        self.pushButton_2.clicked.connect(self.update_plot)

    def stroygraf01(self):

        self.fig0 = graf0stroy(self, kindex=float(self.lineEdit_2.text()), bindex=float(self.lineEdit_3.text()))
        self.companovka_for_mpl = QtWidgets.QVBoxLayout(self.widget)
        self.canavas = MyMplCanvas(self.fig0)
        self.companovka_for_mpl.addWidget(self.canavas)
        self.toolBar = NavigationToolbar(self.canavas, self)
        self.companovka_for_mpl.addWidget(self.toolBar)


    def update_plot(self):
        self.companovka_for_mpl.deleteLater()

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

это основной файл где всё происходит , удаляю график функцией update_plot
Как мне удалить график, чтобы при выполнении функции stroygraf01 у меня построился новый?
честно я не понимаю немного , т.к. зеленый
Уповаю на вашу помощь
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы