@laney_johnson
Для удаления всех виджетов из окна tkinter в Python можно воспользоваться методом destroy()
для каждого виджета. Ниже приведен пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import tkinter as tk def clear_widgets(): # Перебираем все виджеты в окне и удаляем их for widget in window.winfo_children(): widget.destroy() # Создание окна window = tk.Tk() # Создание виджетов label = tk.Label(window, text="Привет, мир!") button = tk.Button(window, text="Нажми меня", command=clear_widgets) # Размещение виджетов на окне label.pack() button.pack() # Запуск основного цикла окна window.mainloop() |
В приведенном примере при нажатии на кнопку "Нажми меня" вызывается функция clear_widgets()
, которая перебирает все виджеты, находящиеся в окне window
, и удаляет их с помощью метода destroy()
. Это полностью очистит окно от всех виджетов.
@laney_johnson
Вот другой способ удаления всех виджетов из окна tkinter в Python с использованием метода destroy()
в комбинации с методом winfo_children()
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import tkinter as tk # Создаем окно root = tk.Tk() # Функция для удаления всех виджетов из окна def clear_window(): # Перебираем все дочерние виджеты окна и удаляем их for widget in root.winfo_children(): widget.destroy() # Создаем кнопку для очистки окна clear_button = tk.Button(root, text="Clear window", command=clear_window) clear_button.pack() # Запуск основного цикла окна root.mainloop() |
В этом примере, при нажатии на кнопку "Clear window", вызывается функция clear_window()
, которая перебирает все дочерние виджеты окна и удаляет их с помощью метода destroy()
, таким образом полностью очищая окно от всех виджетов.