无法移动Matplotlib绘图窗口并使用红色X按钮退出

时间:2016-04-17 10:18:25

标签: python matplotlib charts pyqt figure

我在end上运行Python v3.5matplotlib v1.4.3。直到最近,我使用带有Windows 10 Home GUI的matplotlib来编写python脚本。 ' PyQt'代码将写在另一个不是plt.show()的模块中。当我运行此代码时,__main__无法移动并使用图右侧顶部的红色按钮X退出。奇怪的是,图表显示,它确实运作良好。

Matplotlib Plot

为什么会出现这种症状?我该如何修改呢?

1 个答案:

答案 0 :(得分:0)

我偶然发现了类似的问题。这是因为你的matplotlib图和你的PyQt GUI都在同一个主线程中运行。由于它们位于主线程中,因此只有其中一个拥有自己的CPU。

我试图通过将PyQT GUI或matplotlib放在另一个线程中来解决问题。但这不起作用。 PyQT和matplotlib都需要在主线程中运行。

所以这是一个解决方法。您可以从新创建的python shell启动matplotlib图:

import subprocess
...

    # When you click the button in your PyQT GUI,
    # Create a new process:
    myMatProcess = subprocess.Popen(['python', 'myGraph.py'], shell=True)

现在你的PyQT GUI和你正在绘制的matplotlib图有自己的python解释器shell。而且它们可以顺利运行而不会相互阻挡。

如果您有任何其他问题,请不要犹豫。我很乐意帮助你。