Skip to content

Instantly share code, notes, and snippets.

@back-seat-driver
Created July 30, 2017 19:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save back-seat-driver/ca357b30d0a37d23b3cca88801a7c0ba to your computer and use it in GitHub Desktop.
Save back-seat-driver/ca357b30d0a37d23b3cca88801a7c0ba to your computer and use it in GitHub Desktop.
CALC_GUI
from Tkinter import *
class MyFirstGUI:
def __init__(self, master):
self.master = master
master.title("Calculator")
global TEXT_VALUE
global TEXT_BOX
global GENERAL_PRECISION
global SPECIFIC_PRECISION
global MEMORY_FEILD
general_precision_label=Label(master,text='GENERAL_PRECISION',height=1,width=26,bg="orange")
general_precision_label.place(x=5,y=300)
specific_precision_label=Label(master,text='SPECIFIC_PRECISION',height=1,width=26,bg="orange")
specific_precision_label.place(x=5,y=350)
GENERAL_PRECISION='100'
SPECIFIC_PRECISION='210'
gptb=Text(master,height=1,width=23,bg="white")
gptb.insert('1.0',GENERAL_PRECISION)
gptb.place(x=5,y=325)
sptb=Text(master,height=1,width=23,bg="white")
sptb.insert('1.0',SPECIFIC_PRECISION)
sptb.place(x=5,y=375)
MEMORY_FEILD=''
TEXT_VALUE=''
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def fetch():
global TEXT_BOX
return(TEXT_BOX.get("1.0",'end-1c'))
def on_click_mem_c():
global TEXT_VALUE
global TEXT_BOX
global MEMORY_FEILD
MEMORY_FEILD=str(fetch())
def on_click_mem_v():
global TEXT_VALUE
global TEXT_BOX
global MEMORY_FEILD
str_to_insert=str(fetch())+MEMORY_FEILD
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_0():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'0'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_1():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'1'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_2():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'2'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_3():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'3'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_4():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'4'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_5():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'5'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_6():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'6'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_7():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'7'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_8():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'8'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_9():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'9'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_9():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'9'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_dec():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'.'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_root():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'R'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_plus():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'+'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_minus():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'-'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_multi():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'*'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_divide():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'/'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_power():
global TEXT_VALUE
global TEXT_BOX
str_to_insert=str(fetch())+'^'
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_clear():
global TEXT_VALUE
global TEXT_BOX
TEXT_VALUE=''
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
def on_click_equal():
import CAL_KEY
global TEXT_VALUE
global TEXT_BOX
str_to_insert=CAL_KEY.main(fetch(),
int(gptb.get("1.0",'end-1c')),
int(sptb.get("1.0",'end-1c')))
TEXT_VALUE=str(str_to_insert)
TEXT_BOX.destroy()
TEXT_BOX=Text(master,height=18,width=68,bg="white")
TEXT_BOX.insert('1.0',TEXT_VALUE)
TEXT_BOX.pack()
self.button_plus=Button(master,text='+',command=on_click_plus,height=2,width=5,bg="yellow")
self.button_plus.place(x=450,y=450)
self.button_minus=Button(master,text='-',command=on_click_minus,height=2,width=5,bg="yellow")
self.button_minus.place(x=450,y=400)
self.button_times=Button(master,text='*',command=on_click_multi,height=2,width=5,bg="yellow")
self.button_times.place(x=450,y=350)
self.button_divide=Button(master,text='/',command=on_click_divide,height=2,width=5,bg="yellow")
self.button_divide.place(x=450,y=300)
self.button_equal=Button(master,text='=',command=on_click_equal,height=5,width=12,bg="magenta")
self.button_equal.place(x=200,y=305)
self.button_3=Button(master,text='3',command=on_click_3,height=2,width=5,bg="green")
self.button_3.place(x=400,y=400)
self.button_6=Button(master,text='6',command=on_click_6,height=2,width=5,bg="green")
self.button_6.place(x=400,y=350)
self.button_9=Button(master,text='9',command=on_click_9,height=2,width=5,bg="green")
self.button_9.place(x=400,y=300)
self.button_dec=Button(master,text='.',command=on_click_dec,height=2,width=5,bg="green")
self.button_dec.place(x=350,y=450)
self.button_2=Button(master,text='2',command=on_click_2,height=2,width=5,bg="green")
self.button_2.place(x=350,y=400)
self.button_5=Button(master,text='5',command=on_click_5,height=2,width=5,bg="green")
self.button_5.place(x=350,y=350)
self.button_8=Button(master,text='8',command=on_click_8,height=2,width=5,bg="green")
self.button_8.place(x=350,y=300)
self.button_0=Button(master,text='0',command=on_click_0,height=2,width=5,bg="green")
self.button_0.place(x=300,y=450)
self.button_1=Button(master,text='1',command=on_click_1,height=2,width=5,bg="green")
self.button_1.place(x=300,y=400)
self.button_4=Button(master,text='4',command=on_click_4,height=2,width=5,bg="green")
self.button_4.place(x=300,y=350)
self.button_7=Button(master,text='7',command=on_click_7,height=2,width=5,bg="green")
self.button_7.place(x=300,y=300)
self.button_power=Button(master,text='^',command=on_click_power,height=2,width=5,bg="yellow")
self.button_power.place(x=250,y=450)
self.button_power=Button(master,text='ROOT',command=on_click_root,height=2,width=5,bg="yellow")
self.button_power.place(x=250,y=400)
self.button_power=Button(master,text='MEMC',command=on_click_mem_c,height=2,width=5,bg="cyan")
self.button_power.place(x=200,y=450)
self.button_power=Button(master,text='MEMV',command=on_click_mem_v,height=2,width=5,bg="cyan")
self.button_power.place(x=200,y=400)
self.button_power=Button(master,text='CLR',command=on_click_clear,height=2,width=5,bg="red")
self.button_power.place(x=400,y=450)
root = Tk()
root.geometry("500x500")
root.resizable(width=False,height=False)
MyFirstGUI(root)
root.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment