Как полностью удалить виджет 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()
→ Ссылка