如何在PyQt中使用pushButton清除绘图?

时间:2017-03-03 12:24:50

标签: python matplotlib pyqt4 matplotlib-widget

我使用QT Designer在PyQt中创建了一个小GUI。我有一个按钮。“清除”按钮必须清除此图(我的清除按钮调用pushButton)。我尝试编写一些代码,但它没有运行。如何创建此清除按钮?谢谢。

import sys
from PyQt4 import QtCore, QtGui, uic


form_class = uic.loadUiType("gugus.ui")[0]  # Load the UI


class MyWindowClass(QtGui.QMainWindow, form_class):

def __init__(self, parent=None):

    QtGui.QMainWindow.__init__(self, parent)
    self.setupUi(self)

    self.pushButton.clicked.connect(self.btn_pgb)
    self.matplotlibwidget.axes.plot([0, 1, 1.5, 3], [50, 1, 2, 0])

def btn_pgb(self):  

    # Her I should clear my plot, but don`t know how `enter code here`
    self.progressBar.setValue(69)


app = QtGui.QApplication(sys.argv)
myWindow = MyWindowClass()
myWindow.show()
app.exec_()

1 个答案:

答案 0 :(得分:1)

要清除轴,请使用axes.clear()。要清除完整的数字,请使用axes.figure.clear()

在你的情况下,这将是

self.matplotlibwidget.axes.clear()

self.matplotlibwidget.axes.figure.clear()

之后你需要重绘画布。

self.matplotlibwidget.axes.figure.canvas.draw_idle()