Выполнение команды по минимизации окон в Tkinter - PullRequest
3 голосов
/ 01 октября 2010

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

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

1 Ответ

4 голосов
/ 01 октября 2010

Вы можете привязать к событию <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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...