Как очистить фрейм, Python tkinter?

В моем проекте требуется заменить одну таблицу другой.
Вместо этого у меня добавляется еще одна таблица ниже с замененными столбцами.

введите сюда описание изображения

Как в моем коде сделать очистку фрейма от предыдущей таблицы Treeview?


main.py:

class Frame_zakaz(tk.Frame):
    def __init__(self, parent):
        super().__init__(parent)
        self.place(y=150, x=0, height=605, width=750)
        self.configure(background="white")
        self.update_table()

    def update_table(self):
        # определяем столбцы
        columns = ("name", "number", "price")
        tree = ttk.Treeview(self, columns=columns, show="headings")
        tree.pack(fill=tk.BOTH, expand=1)
        style = ttk.Style()
        style.configure("Treeview", font=('Helvetica', 10))
        def up_tb():
            MainApp.curs.execute("SELECT Название_блюда, Количество, Цена_блюда FROM Карта_заказа")
            result = MainApp.curs.fetchall()
            for row in result:
                tree.insert('', tk.END, values=row)
        return up_tb()

Ответы (1 шт):

Автор решения: S. Nick

Если я вас правильно понял, то попробуйте так:

from random import shuffle, sample
import tkinter as tk 
import tkinter.ttk as ttk


class FrameZakaz(tk.Frame):
    def __init__(self, parent):
        super().__init__(parent)
        self.parent = parent
        self.place(y=150, x=0, height=605, width=750)
        self.configure(background="white")
        
        self.update_table()
        
    def update_table(self):
        # определяем столбцы
        columns = ("name", "number", "price")
        tree = ttk.Treeview(self.parent, columns=columns, selectmode="extended")
        tree.pack(fill=tk.BOTH, expand=1)
        tree.heading("#0", text="#")
        tree.column("#0", minwidth=0, width=20, stretch=tk.NO)
        tree.heading("name", text="Название")
        tree.column("name", minwidth=0, width=200, stretch=tk.NO) 
        tree.heading("number", text="Количество")
        tree.column("number", minwidth=0, width=100) 
        tree.heading("price", text="Цена")
        tree.column("price", minwidth=0, width=300)         
        style = ttk.Style()
        style.configure("Treeview", font=('Helvetica', 12))
        
        def up_tb():
#?            MainApp.curs.execute("SELECT Название_блюда, Количество, Цена_блюда FROM Карта_заказа")
#?            result = MainApp.curs.fetchall()
            result = [
                ('A.C', '1', '3750'),
                ('A.A', '2', '1234'),             
                ('A.B', '3', '3311')            
            ]
            result = sample(result, len(result))
            tree.delete(*tree.get_children())                             # <----
            for row in result:
                tree.insert('', tk.END, values=row)
            self.parent.after(2000, up_tb)                                # <----
#?        return up_tb()

        self.parent.after(1000, up_tb)                                    # <----

    
master = tk.Tk()
master.geometry('600x400')
gui = FrameZakaz(master)
master.mainloop()    

введите сюда описание изображения

→ Ссылка