0

我制作了一个 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()
4

0 回答 0