Как полностью удалить виджет ScrolledText
В данном примере удаляются только виджеты классов Entry и Label. Но еще надо, чтобы удалялись и ScrolledText. Как их удалить?
def dele(event): # удаление виджетов
for w in root.winfo_children():
if w.winfo_class() == 'Entry': w.destroy()
for w in root.winfo_children():
if w.winfo_class() == 'Label': w.destroy()
for w in root.winfo_children():
if w.winfo_class() == 'ScrolledText': w.destroy()
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
У ScrolledText winfo_class() == 'Frame' (т.к. он создан на основе фрейма, в котором лежит текстовое поле и полосы прокрутки). Просто проверяйте тип самих объектов, а не winfo_class:
for w in root.winfo_children():
if isinstance(w, Entry): w.destroy()
if isinstance(w, Label): w.destroy()
if isinstance(w, ScrolledText): w.destroy()