Вопрос задан 19.11.2023 в 07:50. Предмет Информатика. Спрашивает Хохлова Екатерина.

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

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Соловьёва Лена.

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()

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В 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()` для закрытия главного окна.

Таким образом, при нажатии на кнопку или закрытии главного окна, все дочерние окна будут закрыты.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос