2014-09-03 94 views
2

有沒有辦法用bind方法關閉tk窗口? basicly我有這樣的:關閉按鍵上的tk窗口

def foo(): 
    root = tk.Tk() 
    E = tk.Entry(root, textvariable=folderURL) 
    E.bind("<Return>", root.destroy) 

所以這行不通的監守其試圖發送的事件參數是應該只接收一個參數(這可能是自我,不知道在這一個)的破壞作用。 一個解決方案是創建全局根並將另一個函數綁定到「Enter」事件,並且該函數將調用root.destroy,但是我想這樣做而不創建根全局,因爲它無緣無故地弄髒了我的名稱空間,是可能?

謝謝!

回答

3

使用它接受的事件,並調用lambda函數root.destroy()

E.bind("<Return>", lambda e: root.destroy()) 
+0

那麼愚蠢的我!即時通訊新的Python,所以我忘了它有嵌套的功能......謝謝! – 2014-09-03 16:15:43