Python Forum
Reset Button did not work
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Reset Button did not work
#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


Messages In This Thread
Reset Button did not work - by ardvci - Mar-02-2020, 06:58 PM
RE: Reset Button did not work - by Larz60+ - Mar-02-2020, 07:43 PM
RE: Reset Button did not work - by ardvci - Mar-02-2020, 07:59 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How can I add reset button? andrex353 2 3,302 Jun-12-2022, 04:41 PM
Last Post: deanhystad
  [PySimpleGui] How to alter mouse click button of a standard submit button? skyerosebud 3 5,123 Jul-21-2019, 06:02 PM
Last Post: FullOfHelp
  clear button destroy can't work jacklee26 1 4,200 Jul-07-2019, 03:44 AM
Last Post: DeaD_EyE
  [Tkinter] Reset Button CPD3408 3 20,089 Jan-25-2019, 11:55 PM
Last Post: Larz60+
  Button click doesnt work from my second class/layout in Python imamideb 0 2,406 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