我在end
上运行Python v3.5
和matplotlib v1.4.3
。直到最近,我使用带有Windows 10 Home
GUI的matplotlib
来编写python脚本。 ' PyQt
'代码将写在另一个不是plt.show()
的模块中。当我运行此代码时,__main__
无法移动并使用图右侧顶部的红色按钮X退出。奇怪的是,图表显示,它确实运作良好。
为什么会出现这种症状?我该如何修改呢?
答案 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。而且它们可以顺利运行而不会相互阻挡。
如果您有任何其他问题,请不要犹豫。我很乐意帮助你。