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

Cannot move Matplotlib plot window and exit it using red X button

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

为什么会出现这种症状?以及如何修改它?

我偶然发现了类似的问题。这是因为您的 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。并且可以运行顺畅无阻

如果您有任何其他问题,请随时提问。我很乐意帮助你。