Я создаю графический интерфейс раздела в Python, используя tkinter
.
Я создал раскрывающийся список, и интерфейс может меняться с другим выбором, но при втором выборе кажется, что новый интерфейс (некоторые записи или текст) просто покрывает первый интерфейс.
Я хочу знать, как удалить первый интерфейс, чтобы интерфейс мог сразу же обновиться с помощью выбора в выпадающем списке.
Вот код:
import tkinter as tk
import tkinter.ttk
def secdata( *args ):
t = sectype.get()
if t=='Rec_Shape':
tk.ttk.Label(monty1, text="REC_Width").grid(column=0, row=1)
wid=tk.StringVar()
widdata=tk.ttk.Entry(monty1,width=5,textvariable=wid)
widdata.grid(column=1,row=1)
tk.ttk.Label(monty1, text="REC_Height").grid(column=0, row=2)
hei=tk.StringVar()
heidata=tk.ttk.Entry(monty1,width=5,textvariable=hei)
heidata.grid(column=1,row=2)
else:
tk.ttk.Label(monty1, text="Flange_Width").grid(column=0, row=1)
wid1=tk.StringVar()
wid1data=tk.ttk.Entry(monty1,width=5,textvariable=wid1)
wid1data.grid(column=1,row=1)
tk.ttk.Label(monty1, text="Web_Width").grid(column=0, row=2)
wid2=tk.StringVar()
wid2data=tk.ttk.Entry(monty1,width=5,textvariable=wid2)
wid2data.grid(column=1,row=2)
tk.ttk.Label(monty1, text="Flange_Height").grid(column=0, row=3)
hei1=tk.StringVar()
hei1data=tk.ttk.Entry(monty1,width=5,textvariable=hei1)
hei1data.grid(column=1,row=3)
tk.ttk.Label(monty1, text="Total_Height").grid(column=0, row=4)
hei2=tk.StringVar()
hei2data=tk.ttk.Entry(monty1,width=5,textvariable=hei2)
hei2data.grid(column=1,row=4)
window=tk.Tk()
window.title('Section Analysis')
window.geometry('500x400')
tabControl=tk.ttk.Notebook(window)
tab1=tk.ttk.Frame(tabControl)
tabControl.add(tab1,text='Bending')
tabControl.pack(expand=1,fill='both')
monty1=tk.ttk.LabelFrame(tab1,text='Bending')
monty1.grid(column=0, row=0, padx=8, pady=4)
tk.ttk.Label(monty1, text="Sectype:").grid(column=0, row=0, sticky='W')
sectype=tk.ttk.Combobox(monty1,state='readonly')
sectype.grid(column=1, row=0)
sectype['value']=('Rec_Shape','T_Shape')
sectype.current(0)
sectype.bind("<<ComboboxSelected>>",secdata)
monty1.mainloop()
window.mainloop()