Skip to main content
 首页 » 编程设计

python之当 Python 中的 Tkinter.Tk 窗口时,我可以覆盖哪种方法来执行清理任务

2025年05月04日12rubylouvre

class MainGUI(Tkinter.Tk): 
    # some overrides 
 
# MAIN  
 
gui = MainGUI(None) 
gui.mainloop() 

但是当用户关闭窗口时我需要做一些清理工作。我可以覆盖 Tkinter.Tk 中的哪个方法?

请您参考如下方法:

如果您希望在销毁特定小部件时发生某个 Action ,您可以考虑重写 destroy() 方法。请参阅以下示例:

class MyButton(Tkinter.Button): 
    def destroy(self): 
        print "Yo!" 
        Tkinter.Button.destroy(self) 
 
root = Tkinter.Tk() 
 
f = Tkinter.Frame(root) 
b1 = MyButton(f, text="Do nothing") 
b1.pack() 
f.pack() 
 
b2 = Tkinter.Button(root, text="f.destroy", command=f.destroy)           
b2.pack() 
 
root.mainloop() 

当按钮'b2'被按下时,框架'f'被销毁,子级'b1'和“Yo!”打印出来。