Tkinter - Как обновить интерфейс при выборе другого варианта в выпадающем списке - PullRequest
0 голосов
/ 18 декабря 2018

Я создаю графический интерфейс раздела в 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...