Running a command on Window minimization in Tkinter

后端 未结 1 1441
无人及你
无人及你 2021-01-18 18:58

I have a Tkinter window whenever the minimize button is pressed I\'d like to run a command, how do I do this?

I know w.protocol(\"WM_DELETE_WINDOW\", w.comm

相关标签:
1条回答
  • 2021-01-18 19:54

    You can bind to the <Unmap> event.

    For example, run the following code and then minimize the main window. The tool window should disappear when the main window is minimized.

    import Tkinter as tk
    
    class App:
        def __init__(self):
            self.root = tk.Tk()
            tk.Label(self.root, text="main window").pack()
            self.t = tk.Toplevel()
            tk.Label(self.t, text="tool window").pack()
            self.root.bind("<Unmap>", self.OnUnmap)
            self.root.bind("<Map>", self.OnMap)
            self.root.mainloop()
    
        def OnMap(self, event):
            # show the tool window
            self.t.wm_deiconify()
    
        def OnUnmap(self, event):
            # withdraw the tool window
            self.t.wm_withdraw()
    
    if __name__ == "__main__":
        app=App()
    
    0 讨论(0)
提交回复
热议问题