【发布时间】:2021-10-17 01:28:15
【问题描述】:
我有一个 PyQt 文件,只需单击一个按钮,它就会从另一个 python 文件(我们称之为 calc.py)运行一个函数,该文件执行非常高级的计算并使用 matplotlib 绘制结果。
我想在计算完成/图形生成后在 PyQt 窗口中显示由calc.py 生成的这个图。不过,鉴于计算和数字是在另一个文件中进行的,我不确定执行此操作的最佳方法。
pyqt.py
import PyQt5 . . .
from calc import do_calc
class Window(QMainWindow):
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.title_label = QLabel("Label Text", self) #random label in top of window
###code here to display matplotlib plot in my PyQt app####
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
calc.py
import matplotlib.pyplot as plt
def do_calc():
plt.figure()
for i in x:
... #really complex calculation here
plt.plot()
plt.draw()
我一直在查看other examples 如何在 Qt 中显示 matplotlib 图,但它们通常围绕在 PyQt 文件或小部件类中进行的计算,在这种情况下我无法真正做到。我可以更改 calc.py 文件以返回项目或执行任何其他可能有用的操作,但计算可能需要保留在该文件中,以便它可以独立于 PyQt 运行
【问题讨论】:
标签: python matplotlib pyqt pyqt5