
Как закрыть все окна в ткинтере через классы?


Ответы на вопрос

import tkinter as tk
class MyApp:
def __init__(self):
self.root = tk.Tk()
self.create_widgets()
def create_widgets(self):
# Создание виджетов вашего приложения
def close_windows(self):
# Закрытие всех окон
self.root.destroy()
# Создание экземпляра класса MyApp
app = MyApp()
# Запуск основного цикла приложения
app.root.mainloop()



В Tkinter можно закрыть все окна, используя классы и методы. Вот пример:
```python import tkinter as tk
class MainWindow(tk.Tk): def __init__(self): tk.Tk.__init__(self) self.button = tk.Button(self, text="Закрыть все окна", command=self.close_windows) self.button.pack() self.child_windows = [] self.protocol("WM_DELETE_WINDOW", self.close_windows) def close_windows(self): # Закрыть все дочерние окна for window in self.child_windows: window.destroy() # Закрыть главное окно self.quit()
class ChildWindow(tk.Toplevel): def __init__(self, master=None): tk.Toplevel.__init__(self, master=master) self.master.child_windows.append(self) self.protocol("WM_DELETE_WINDOW", self.master.close_windows) if __name__ == "__main__": root = MainWindow() # Создать дочерние окна child1 = ChildWindow(root) child1.title("Дочернее окно 1") child2 = ChildWindow(root) child2.title("Дочернее окно 2") root.mainloop() ```
В этом примере создаются два дочерних окна `ChildWindow`, которые добавляются в список `child_windows` главного окна `MainWindow`. Когда вызывается метод `close_windows`, он перебирает все дочерние окна и вызывает метод `destroy()` для каждого из них, а затем вызывает метод `quit()` для закрытия главного окна.
Таким образом, при нажатии на кнопку или закрытии главного окна, все дочерние окна будут закрыты.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili