在Qt GUI窗口中绘制图像

时间:2019-03-21 10:12:45

标签: python pyqt pyqt5 qt-designer

我正在制作一个GUI,以允许非Python用户输入一些参数,并且代码将在后台运行并生成图像。下面的代码通过实质上导致matplotlib生成图像而大大简化。 目前,该图像在新窗口中打开,但是我想知道是否可以在GUI窗口中显示该图像。

import sys
import numpy as np
import matplotlib.pyplot as plt
from PyQt5 import QtCore, QtGui, QtWidgets

 class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 519)

        self.btnRun = QtWidgets.QPushButton(Dialog)
        self.btnRun.setGeometry(QtCore.QRect(80, 350, 211, 23))

        self.btnRun.setObjectName("btnRun")
        self.btnRun.clicked.connect(self.do_something)

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.btnRun.setText(_translate("Dialog", "Click Me"))

    def do_something(self):

            y = np.random.rand(3,2)
            plt.imshow(y, cmap='magma')
            plt.show()


if __name__ == "__main__":

    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())

我不确定是否需要设置占位符以使图像填充在窗口中,但是任何帮助都会很棒。

所需结果:

enter image description here

道歉...

0 个答案:

没有答案
相关问题