我正在使用tkinter
在python中创建节分析GUI。
我创建了一个下拉列表,并且界面可以通过不同的选择进行更改,但是在第二次选择时,似乎新界面(某些条目或文本)仅覆盖了第一个界面。
我想知道如何删除第一个界面,以便可以使用下拉列表中的选择立即更新界面。
这是代码:
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()