Python Forum
Reset Button did not work
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Reset Button did not work
#1
The code has no errors or warnings it also looks fine to me but I didn't find out why the reset button is not working.Here is the code
from tkinter import*
import random
import time

root=Tk()
root.geometry("1600x800+0+0")
root.title("restaurant example")

text_input=StringVar()
operator=""

Tops=Frame(root,width=1600,height=50,bg="powder blue",relief=SUNKEN)
Tops.pack(side=TOP)

f1=Frame(root,width=800,height=700,relief=SUNKEN)
f1.pack(side=LEFT)

f2=Frame(root,width=300,height=700,relief=SUNKEN)
f2.pack(side=RIGHT)

localtime=time.asctime(time.localtime(time.time()))

lblinfo=Label(Tops,font=('arial',50,'bold'),text="Restaurant Management System",fg="steel blue",bd=10,anchor='w')
lblinfo.grid(row=0,column=0)

lblinfo=Label(Tops,font=('arial',30,'bold'),text=localtime,fg="steel blue",bd=10,anchor='w')
lblinfo.grid(row=1,column=0)

def btnClick(numbers):
	global operator
	operator=operator+str(numbers)
	text_input.set(operator)


def btncleardisplay():
	global operator
	operator=""
	text_input.set("")

def btnequals():
	global operator
	semup=str(eval(operator))
	text_input.set(semup)
	operator=""


def btonreset():
	rand.set("")
	fries.set("")
	chicken.set("")
	cheese.set("")
	drinks.set("")
	costofmeal.set("")
	servicecharge.set("")
	statetax.set("")
	subtotal.set("")
	totalcost.set("")


	


def btnexit():
	root.destroy()
	

txtDisplay=Entry(f2,font=('arial',30,'bold'),textvariable=text_input,bg="powder blue",bd=30,insertwidth=4,justify="right")

txtDisplay.grid(columnspan=4)

bton1=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="1",bg="powder blue",anchor='w',command=lambda: btnClick(1)).grid(row=2,column=0)
bton2=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="2",bg="powder blue",command=lambda: btnClick(2)).grid(row=2,column=1)
bton3=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="3",bg="powder blue",command=lambda: btnClick(3)).grid(row=2,column=2)
bton4=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="4",bg="powder blue",command=lambda: btnClick(4)).grid(row=3,column=0)
bton5=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="5",bg="powder blue",command=lambda: btnClick(5)).grid(row=3,column=1)
bton6=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="6",bg="powder blue",command=lambda: btnClick(6)).grid(row=3,column=2)
bton7=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="7",bg="powder blue",command=lambda: btnClick(7)).grid(row=4,column=0)
bton8=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="8",bg="powder blue",command=lambda: btnClick(8)).grid(row=4,column=1)
bton9=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="9",bg="powder blue",command=lambda: btnClick(9)).grid(row=4,column=2)
bton0=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="0",bg="powder blue",command=lambda:btnClick(0)).grid(row=5,column=1)
#=================================================================================================================================================
btonclr=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="C",bg="powder blue",command=btncleardisplay).grid(row=5,column=0)
btonEQL=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="=",bg="powder blue",command=btnequals).grid(row=5,column=2)
#==================================================================================================================================================
add=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="+",bg="powder blue",command=lambda:btnClick("+")).grid(row=2,column=3)
subs=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="-",bg="powder blue",command=lambda:btnClick("-")).grid(row=3,column=3)
multi=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="*",bg="powder blue",command=lambda:btnClick("*")).grid(row=4,column=3)
div=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="/",bg="powder blue",command=lambda:btnClick("/")).grid(row=5,column=3)

#===============================================================================================================================================================

rand=StringVar()
fries=StringVar()
burger=StringVar()
fileto=StringVar()
chicken=StringVar()
cheese=StringVar()
drinks=StringVar()
costofmeal=StringVar()
servicecharge=StringVar()
statetax=StringVar()
subtotal=StringVar()
totalcost=StringVar()
lblReference=Label(f1,font=("arial",16,"bold"),text="reference",bd=16,anchor='w')
lblReference.grid(row=0,column=0)
txtReference=Entry(f1,font=("arial",16,"bold"),textvariable=rand,text="reference",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtReference.grid(row=0,column=1)


lblfries=Label(f1,font=("arial",16,"bold"),text="fries",bd=16,anchor='w')
lblfries.grid(row=1,column=0)
txtfries=Entry(f1,font=("arial",16,"bold"),textvariable=fries,text="fries",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtfries.grid(row=1,column=1) 

lblburger=Label(f1,font=("arial",16,"bold"),text="burger",bd=16,anchor='w')
lblburger.grid(row=2,column=0)
txtburger=Entry(f1,font=("arial",16,"bold"),textvariable=burger,text="burger",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtburger.grid(row=2,column=1) 

lblfileto=Label(f1,font=("arial",16,"bold"),text="fileto",bd=16,anchor='w')
lblfileto.grid(row=3,column=0)
txtfileto=Entry(f1,font=("arial",16,"bold"),textvariable=fileto,text="fileto",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtfileto.grid(row=3,column=1) 

lblchicken=Label(f1,font=("arial",16,"bold"),text="chicken",bd=16,anchor='w')
lblchicken.grid(row=4,column=0)
txtchicken=Entry(f1,font=("arial",16,"bold"),textvariable=chicken,text="chicken",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtchicken.grid(row=4,column=1) 

lblcheese=Label(f1,font=("arial",16,"bold"),text="cheese",bd=16,anchor='w')
lblcheese.grid(row=5,column=0)
txtcheese=Entry(f1,font=("arial",16,"bold"),textvariable=cheese,text="cheese",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtcheese.grid(row=5,column=1) 

#======================================================================================================================================


lbldrinks=Label(f1,font=("arial",16,"bold"),text="drinks",bd=16,anchor='w')
lbldrinks.grid(row=0,column=3)
txtdrinks=Entry(f1,font=("arial",16,"bold"),textvariable=drinks,text="drinks",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtdrinks.grid(row=0,column=4)


lblcostofmeal=Label(f1,font=("arial",16,"bold"),text="costofmeal",bd=16,anchor='w')
lblcostofmeal.grid(row=1,column=3)
txtcostofmeal=Entry(f1,font=("arial",16,"bold"),textvariable=costofmeal,text="costofmeal",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtcostofmeal.grid(row=1,column=4) 

lblservisecharge=Label(f1,font=("arial",16,"bold"),text="servicecharge",bd=16,anchor='w')
lblservisecharge.grid(row=2,column=3)
txtservisecharge=Entry(f1,font=("arial",16,"bold"),textvariable=servicecharge,text="servicecharge",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtservisecharge.grid(row=2,column=4) 

lblstatetax=Label(f1,font=("arial",16,"bold"),text="statetax",bd=16,anchor='w')
lblstatetax.grid(row=3,column=3)
txtstatetax=Entry(f1,font=("arial",16,"bold"),textvariable=statetax,text="statetax",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtstatetax.grid(row=3,column=4) 

lblsubtotal=Label(f1,font=("arial",16,"bold"),text="subtotal",bd=16,anchor='w')
lblsubtotal.grid(row=4,column=3)
txtsubtotal=Entry(f1,font=("arial",16,"bold"),textvariable=subtotal,text="subtotal",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txtsubtotal.grid(row=4,column=4) 

lbltotalcost=Label(f1,font=("arial",16,"bold"),text="totalcost",bd=16,anchor='w')
lbltotalcost.grid(row=5,column=3)
txttotalcost=Entry(f1,font=("arial",16,"bold"),textvariable=totalcost,text="totalcost",bd=16,insertwidth=4,
	bg="powder blue",justify='left')
txttotalcost.grid(row=5,column=4) 
#==============================================================================================================================

btnreset=Button(f1,padx=50,pady=12,bd=10,fg="black",font=("arial",20,"bold"),text="reset",bg="powder blue",command=btonreset).grid(row=6,column=3)
btnexit=Button(f1,padx=50,pady=12,bd=10,fg="black",font=("arial",20,"bold"),text="exit",bg="powder blue",command=btnexit).grid(row=6,column=4)






root.mainloop()
Reply
#2
There are a couple of issues here:
  1. the StringVars need to be defined before using. I moved them
  2. Entry widget has no attribute text. I removed them

This works at expected:
from tkinter import*
import random
import time
 
root=Tk()
root.geometry("1600x800+0+0")
root.title("restaurant example")
 
rand=StringVar()
fries=StringVar()
burger=StringVar()
fileto=StringVar()
chicken=StringVar()
cheese=StringVar()
drinks=StringVar()
costofmeal=StringVar()
servicecharge=StringVar()
statetax=StringVar()
subtotal=StringVar()
totalcost=StringVar()

text_input=StringVar()
operator=""

Tops=Frame(root,width=1600,height=50,bg="powder blue",relief=SUNKEN)
Tops.pack(side=TOP)
 
f1=Frame(root,width=800,height=700,relief=SUNKEN)
f1.pack(side=LEFT)
 
f2=Frame(root,width=300,height=700,relief=SUNKEN)
f2.pack(side=RIGHT)
 
localtime=time.asctime(time.localtime(time.time()))
 
lblinfo=Label(Tops,font=('arial',50,'bold'),text="Restaurant Management System",fg="steel blue",bd=10,anchor='w')
lblinfo.grid(row=0,column=0)
 
lblinfo=Label(Tops,font=('arial',30,'bold'),text=localtime,fg="steel blue",bd=10,anchor='w')
lblinfo.grid(row=1,column=0)
 
def btnClick(numbers):
    global operator
    operator=operator+str(numbers)
    text_input.set(operator)
 
def btncleardisplay():
    global operator
    operator=""
    text_input.set("")
 
def btnequals():
    global operator
    semup=str(eval(operator))
    text_input.set(semup)
    operator=""
 
def btonreset():
    rand.set("")
    fries.set("")
    chicken.set("")
    cheese.set("")
    drinks.set("")
    costofmeal.set("")
    servicecharge.set("")
    statetax.set("")
    subtotal.set("")
    totalcost.set("")
 
def btnexit():
    root.destroy()

txtDisplay=Entry(f2,font=('arial',30,'bold'),textvariable=text_input,bg="powder blue",bd=30,insertwidth=4,justify="right")
 
txtDisplay.grid(columnspan=4)
 
bton1=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="1",bg="powder blue",anchor='w',command=lambda: btnClick(1)).grid(row=2,column=0)
bton2=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="2",bg="powder blue",command=lambda: btnClick(2)).grid(row=2,column=1)
bton3=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="3",bg="powder blue",command=lambda: btnClick(3)).grid(row=2,column=2)
bton4=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="4",bg="powder blue",command=lambda: btnClick(4)).grid(row=3,column=0)
bton5=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="5",bg="powder blue",command=lambda: btnClick(5)).grid(row=3,column=1)
bton6=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="6",bg="powder blue",command=lambda: btnClick(6)).grid(row=3,column=2)
bton7=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="7",bg="powder blue",command=lambda: btnClick(7)).grid(row=4,column=0)
bton8=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="8",bg="powder blue",command=lambda: btnClick(8)).grid(row=4,column=1)
bton9=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="9",bg="powder blue",command=lambda: btnClick(9)).grid(row=4,column=2)
bton0=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="0",bg="powder blue",command=lambda:btnClick(0)).grid(row=5,column=1)
#=================================================================================================================================================
btonclr=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="C",bg="powder blue",command=btncleardisplay).grid(row=5,column=0)
btonEQL=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="=",bg="powder blue",command=btnequals).grid(row=5,column=2)
#==================================================================================================================================================
add=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="+",bg="powder blue",command=lambda:btnClick("+")).grid(row=2,column=3)
subs=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="-",bg="powder blue",command=lambda:btnClick("-")).grid(row=3,column=3)
multi=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="*",bg="powder blue",command=lambda:btnClick("*")).grid(row=4,column=3)
div=Button(f2,padx=16,pady=16,bd=8,fg="black",font=("arial",20,"bold"),text="/",bg="powder blue",command=lambda:btnClick("/")).grid(row=5,column=3)
 
#===============================================================================================================================================================
 
lblReference=Label(f1,font=("arial",16,"bold"),text="reference",bd=16,anchor='w')
lblReference.grid(row=0,column=0)
txtReference=Entry(f1,font=("arial",16,"bold"),textvariable=rand,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtReference.grid(row=0,column=1)
 
lblfries=Label(f1,font=("arial",16,"bold"),text="fries",bd=16,anchor='w')
lblfries.grid(row=1,column=0)
txtfries=Entry(f1,font=("arial",16,"bold"),textvariable=fries,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtfries.grid(row=1,column=1) 
 
lblburger=Label(f1,font=("arial",16,"bold"),text="burger",bd=16,anchor='w')
lblburger.grid(row=2,column=0)
txtburger=Entry(f1,font=("arial",16,"bold"),textvariable=burger,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtburger.grid(row=2,column=1) 
 
lblfileto=Label(f1,font=("arial",16,"bold"),text="fileto",bd=16,anchor='w')
lblfileto.grid(row=3,column=0)
txtfileto=Entry(f1,font=("arial",16,"bold"),textvariable=fileto,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtfileto.grid(row=3,column=1) 
 
lblchicken=Label(f1,font=("arial",16,"bold"),text="chicken",bd=16,anchor='w')
lblchicken.grid(row=4,column=0)
txtchicken=Entry(f1,font=("arial",16,"bold"),textvariable=chicken,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtchicken.grid(row=4,column=1) 
 
lblcheese=Label(f1,font=("arial",16,"bold"),text="cheese",bd=16,anchor='w')
lblcheese.grid(row=5,column=0)
txtcheese=Entry(f1,font=("arial",16,"bold"),textvariable=cheese,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtcheese.grid(row=5,column=1) 
 
#======================================================================================================================================
 
lbldrinks=Label(f1,font=("arial",16,"bold"),text="drinks",bd=16,anchor='w')
lbldrinks.grid(row=0,column=3)
txtdrinks=Entry(f1,font=("arial",16,"bold"),textvariable=drinks,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtdrinks.grid(row=0,column=4)
 
 
lblcostofmeal=Label(f1,font=("arial",16,"bold"),text="costofmeal",bd=16,anchor='w')
lblcostofmeal.grid(row=1,column=3)
txtcostofmeal=Entry(f1,font=("arial",16,"bold"),textvariable=costofmeal,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtcostofmeal.grid(row=1,column=4) 
 
lblservisecharge=Label(f1,font=("arial",16,"bold"),text="servicecharge",bd=16,anchor='w')
lblservisecharge.grid(row=2,column=3)
txtservisecharge=Entry(f1,font=("arial",16,"bold"),textvariable=servicecharge,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtservisecharge.grid(row=2,column=4) 
 
lblstatetax=Label(f1,font=("arial",16,"bold"),text="statetax",bd=16,anchor='w')
lblstatetax.grid(row=3,column=3)
txtstatetax=Entry(f1,font=("arial",16,"bold"),textvariable=statetax,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtstatetax.grid(row=3,column=4) 
 
lblsubtotal=Label(f1,font=("arial",16,"bold"),text="subtotal",bd=16,anchor='w')
lblsubtotal.grid(row=4,column=3)
txtsubtotal=Entry(f1,font=("arial",16,"bold"),textvariable=subtotal,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txtsubtotal.grid(row=4,column=4) 
 
lbltotalcost=Label(f1,font=("arial",16,"bold"),text="totalcost",bd=16,anchor='w')
lbltotalcost.grid(row=5,column=3)
txttotalcost=Entry(f1,font=("arial",16,"bold"),textvariable=totalcost,bd=16,insertwidth=4,
    bg="powder blue",justify='left')
txttotalcost.grid(row=5,column=4) 
#==============================================================================================================================
 
btnreset=Button(f1,padx=50,pady=12,bd=10,fg="black",font=("arial",20,"bold"),text="reset",bg="powder blue",command=btonreset)

btnexit=Button(f1,padx=50,pady=12,bd=10,fg="black",font=("arial",20,"bold"),text="exit",bg="powder blue",command=btnexit)

btnreset.grid(row=6,column=3)
btnexit.grid(row=6,column=4)


root.mainloop()
Reply
#3
Thanks for your contribution it worked !!!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How can I add reset button? andrex353 2 3,054 Jun-12-2022, 04:41 PM
Last Post: deanhystad
  [PySimpleGui] How to alter mouse click button of a standard submit button? skyerosebud 3 4,949 Jul-21-2019, 06:02 PM
Last Post: FullOfHelp
  clear button destroy can't work jacklee26 1 4,053 Jul-07-2019, 03:44 AM
Last Post: DeaD_EyE
  [Tkinter] Reset Button CPD3408 3 19,763 Jan-25-2019, 11:55 PM
Last Post: Larz60+
  Button click doesnt work from my second class/layout in Python imamideb 0 2,328 Feb-13-2018, 12:09 PM
Last Post: imamideb

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020