I'm writing a Tkinter Application. I'm trying to delete a Label by using destroy() but it is not working correctly.
What would be the correct way to delete (or remove) the Label.
Base code:
typeimport tkinter
from tkinter import *
from tkinter import ttk
window=Tk()
window.minsize(300,200)
window.title("COMBO 3 PIECE 1 SODA")
Label(text="UFC make fight",font=20,pady=10 ,padx=10).grid(row=0,column=0,sticky=W)
opponet=StringVar(value="คู่ต่อสู้ของคุณ")
combo2=ttk.Combobox(textvariable=opponet)
combo2["value"]=("Conor Mcgregor","Jorge Masvidal","Colby Covington","Tony Ferguson","Sean O malley")
combo2.grid(row=0,column=2)
choice = StringVar(value="เลือกนักสู้ของคุณ")
combo=ttk.Combobox(textvariable=choice)
combo["value"]=("Conor Mcgregor","Jorge Masvidal","Colby Covington","Tony Ferguson","Sean O malley")
combo.grid(row=0,column=1)
#betodd2 = IntVar()
#betset2=Entry(font=30,width=10,textvariable=betodd2).grid(row=1,column=2)
Label(text="ประเมินทักษะมวยปล้ำ",font=20,pady=10 ,padx=10).grid(row=1,column=0,sticky=W)
Label(text="ค่าทักษะมวยสากล",font=20,pady=10 ,padx=10).grid(row=2,column=0,sticky=W)
Label(text="ค่าทักษะมวยไทย",font=20,pady=10 ,padx=10).grid(row=3,column=0,sticky=W)
Label(text="ค่าทักษะBJJ",font=20,pady=10 ,padx=10).grid(row=4,column=0,sticky=W)
WrestlingPoint1 = IntVar()
Spinbox(from_=1,to=10,textvariable=WrestlingPoint1).grid(row=1,column=1)
WrestlingPoint2 = IntVar()
Spinbox(from_=1,to=10,textvariable=WrestlingPoint2).grid(row=1,column=2)
BoxingPoint1 = IntVar()
Spinbox(from_=1,to=10,textvariable=BoxingPoint1).grid(row=2,column=1)
BoxingPoint2 = IntVar()
Spinbox(from_=1,to=10,textvariable=BoxingPoint2).grid(row=2,column=2)
MuayThaiPoint1 = IntVar()
Spinbox(from_=1,to=10,textvariable=MuayThaiPoint1).grid(row=3,column=1)
MuayThaiPoint2 = IntVar()
Spinbox(from_=1,to=10,textvariable=MuayThaiPoint2).grid(row=3,column=2)
BJJPoint1 = IntVar()
Spinbox(from_=1,to=10,textvariable=BJJPoint1).grid(row=4,column=1)
BJJPoint2 = IntVar()
Spinbox(from_=1,to=10,textvariable=BJJPoint2).grid(row=4,column=2)
Label(text="รวมผลคะแนน",font=20,pady=10 ,padx=10).grid(row=5,column=0,sticky=W)
Label(text="คะแนนนักสู้คนที่ 1 ",font=20,pady=10 ,padx=10).grid(row=6,column=1)
Label(text="คะแนนนักสู้คนที่ 2 ",font=20,pady=10 ,padx=10).grid(row=6,column=2)
content1=""
content2=""
txt_input= StringVar(value="0")
txt_input2= StringVar(value="0")
TOTAL1=Entry(font=('impact',15,'bold'),fg='black',bg='red',width=10,textvariable=txt_input).grid(row=5, column=1)
TOTAL2=Entry(font=('impact',15,'bold'),fg='black',bg='red',width=10,textvariable=txt_input2).grid(row=5, column=2)
going=Label(window)
going2=Label(window)
#summary=Entry(font=('impact',15,'bold'),fg='black',bg='red',width=10,textvariable=txt_input).grid(row=10, column=0,columnspan=0)
The clearcommand function:
def clearcommand():
global content1
content1 = ""
global content2
content2 = ""
txt_input = StringVar(value="0")
txt_input2 = StringVar(value="0")
Label.destroy()
TOTAL1 = Entry(font=('impact', 15, 'bold'), fg='black', bg='red', width=10, textvariable=txt_input).grid(row=5,
column=1)
TOTAL2 = Entry(font=('impact', 15, 'bold'), fg='black', bg='red', width=10, textvariable=txt_input2).grid(row=5,
column=2)
confirm['state']=NORMAL
clear=Button(text="เคลียร์ข้อมูล",command=clearcommand,font=30,background='red').grid(row=11,column=2)

None of your
Labelwidgets are being stored in variables, so you're not going to be able to modify (ordestroy) them after the fact.You should store the
Labelyou want to update in a variable, then if you just want to clear out the text of the label without actually destroying the widget, you can modifyclearcommandlike this:Updating the label this way means that the widget still exists and can be changed again later