如何退出pyplot循环?

ale*_*dro 3 python tk-toolkit tkinter matplotlib

我有一个使用pyplot(backend:tkagg)的python程序,其中简单地创建了一个带有一些东西的matplotlib.当我想退出程序时,我立即致电:

plt.close('all')
Run Code Online (Sandbox Code Playgroud)

关闭它.奇怪的是,程序dosnt退出.

在调试器之后,我看到在完成任务后,它返回到

class Show(ShowBase):
    def mainloop(self):
        Tk.mainloop()
Run Code Online (Sandbox Code Playgroud)

backend_tkagg.py中,

其次是

if not is_interactive():
            self.mainloop()
Run Code Online (Sandbox Code Playgroud)

在同一个文件中,然后到

def show(*args, **kw):
    global _show
    _show(*args, **kw)
Run Code Online (Sandbox Code Playgroud)

pyplot.py 所以看来我仍然在pyplot循环中!

如何正确退出?

谢谢...

tac*_*ell 5

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

也许相关: 在Python中退出Tks mainloop?,