PyQt& matplotlib - 动态保存图像和显示

时间:2013-09-12 23:38:24

标签: image dynamic matplotlib plot pyqt4

我制作了一个GUI,它接收一些数据,然后将其发送到另一个函数。然后该函数绘制图形并将其保存为jpeg图像。现在我想在GUI窗口中动态显示这个图像作为像素图标签。 我等待按下按钮然后调用该函数。但是我希望标签在被调用函数内完成绘图后立即获取像素图并返回执行。

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):

        btn = QtGui.QPushButton('button', self)
        btn.setToolTip('<b>calculate</b>')
        btn.resize(btn.sizeHint())
        btn.move(150, 500)

        btn.clicked.connect(self.call)

        pixmap = QtGui.QPixmap('image.jpg')
        label = QtGui.QLabel(self)
        label.setPixmap(pixmap)
        label.move(440, 50)

    def call(self):

        #plotting is done here
        plt.clf()
        plt.plot(x_data, y_data)
        plt.ylabel('y')
        plt.xlabel('x')
        plt.savefig('image.jpg', format='jpg')


def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

0 个答案:

没有答案