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