1

我使用 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_()
4

1 回答 1

1

要清除坐标区,请使用axes.clear(). 要清除完整的图形,请使用axes.figure.clear()

在你的情况下,这将是

self.matplotlibwidget.axes.clear()

或者

self.matplotlibwidget.axes.figure.clear()

之后,您需要重新绘制画布。

self.matplotlibwidget.axes.figure.canvas.draw_idle()
于 2017-03-03T12:31:45.163 回答