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