Выполнение команды по минимизации окон в Tkinter

У меня есть окно Tkinter при каждом нажатии кнопки свертывания. Я хочу выполнить команду, как мне это сделать?

я знаюw.protocol ("WM_DELETE_WINDOW", w.command) будет запускать команду при выходе.

 Rafe Kettler01 окт. 2010 г., 06:44
Я просматривал документацию по Tcl для всего этого, и я не думаю, что есть способ реализовать это. Единственными протоколами, которые я видел, кроме WM_DELETE_WINDOW, являются WM_SAVE_YOURSELF, который устарел, а не то, что вы хотите, и WM_TAKE_FOCUS, который, согласно страницам руководства, "слишком сложен, чтобы с ним связываться". Из любопытства, что ты пытаешься сделать?
 rectangletangle01 окт. 2010 г., 09:34
У меня есть окно инструментов вместе с моей основной программой. Когда я свернул основную программу, я собирался также скрыть окно инструментов.

Ответы на вопрос(1)

Решение Вопроса

<Unmap> событие.

Например, запустите следующий код, а затем сверните главное окно. Окно инструмента должно исчезнуть, когда главное окно свернуто.

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()
 rectangletangle01 окт. 2010 г., 20:42
Спасибо, что отлично!

Ваш ответ на вопрос