【发布时间】:2012-11-04 03:40:40
【问题描述】:
我有一个使用 pyplot (backend:tkagg) 的 python 程序,其中简单地创建了一个 matplotlib,其中包含一些东西。 当我想退出程序时,我立即调用:
plt.close('all')
关闭它。 奇怪的是,程序并没有退出。
用调试器跟踪它,我看到一切都完成后,它返回
class Show(ShowBase):
def mainloop(self):
Tk.mainloop()
在backend_tkagg.py,
紧随其后
if not is_interactive():
self.mainloop()
在同一个文件中,然后到
def show(*args, **kw):
global _show
_show(*args, **kw)
在 pyplot.py 中 所以看来我还在 pyplot 循环中!
如何正确退出?
谢谢...
【问题讨论】:
-
你认为你可以举一个短代码sn-p的例子来证明这种行为吗?尽管您的调试看起来很有趣,但如果没有example,我们很难测试自己。
-
您使用的是任何 IDE,还是只使用控制台?一些 IDE 在幕后做一些有趣的事情来管理 GUI 循环,这可能会给您带来麻烦。
-
1) 你有
plt.ion()吗? 2) 你没有使用早于1.0的matplotlib 版本吗?
标签: python matplotlib tkinter tk