Написал программу , но не знаю что именно нужно удалить в 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 у меня построился новый?
честно я не понимаю немного , т.к. зеленый
Уповаю на вашу помощь