2012-11-15 149 views
2

我有一個python程序使用pyplot(後端:tkagg),其中只是一個matplotlib創建與它的一些東西。 當我想退出程序,我立即撥打:如何退出pyplot循環?

plt.close('all') 

將其關閉。 奇怪的是,程序dosnt退出。

與我看到everithing完成後,返回到

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) 

in pyplot.py 所以看來我仍然在pyplot循環!

如何正確退出?

感謝...

+0

你認爲你可以給的一個例子短的代碼片段可以證明這種行爲?儘管你的調試看起來很有趣,但沒有[示例](http://sscce.org/)就很難測試自己。 –

+0

您是使用任何IDE,還是隻使用控制檯?一些IDE在幕後進行有趣的事情來管理GUI Loop,這可能會給你帶來麻煩。 –

+0

1)你有'plt.ion()'? 2)你是不是在使用比1.0版早的matplotlib版本? –

回答

4

你是不是在每發言權pyplot環,但與GUI工具相關聯的主循環(這是與GUI中的所有用戶交互涉及循環)。我懷疑它是安全的,只是調用程序exit(),讓對象清理處理正確拆除TK對象/主循環

也許相關: Exit Tks mainloop in Python?

+0

是的!就是這樣 - sys.exit()優雅地結束了它... – alessandro