4

我有一个使用 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 循环中!

如何正确退出?

谢谢...

4

1 回答 1

6

您不是在pyplot循环中,而是与 GUI 工具包相关的主循环(这是处理所有用户与 GUI 交互的循环)。我怀疑只调用exit()你的程序并让对象清理处理正确拆除TK对象/主循环是安全的

可能相关: Exit Tks mainloop in Python? ,

于 2012-11-16T23:26:31.870 回答