Python GUI calc
Python GUI experiment. Simple calculator application made with Tk.
It’s a first choice because it’s integrated into Python, simple to use and powerful enough for most cases. It’s also cross platform like an interpreter.
However, there are many other libraries for GUI:
http://wiki.python.org/moin/GuiProgramming
#!/usr/bin/python
# Python GUI calculator
# (C) 2011 - netquote.it
# Original code by Emanuele Chiabrera
# Enhanced by Toropov Ivan
from Tkinter import *
# button text list
cmdlst = ['7', '8', '9', '+', '%',
'4', '5', '6', '-', '**',
'1', '2', '3', '*', '//',
'.', '0', 'CL', '/', '=']
class MyButton(Button):
backref = None
def Click(self):
# back reference
self.backref.BtnCmd(self["text"])
class CalcApp:
def __init__(self, master):
frame = Frame(master)
self.textbox = Entry(width=30, takefocus=1)
self.textbox.pack(side=TOP)
self.textbox.focus_force()
self.buttons = []
for n, c in enumerate(cmdlst):
self.buttons.append(MyButton(frame, text=c, width=5))
self.buttons[n]["command"] = self.buttons[n].Click
self.buttons[n].backref = self
self.buttons[n].grid(row=n/5, column=n%5)
frame.pack()
def BtnCmd(self, cmd):
if cmd == '=':
try:
res = eval(self.textbox.get())
except:
res = "Error!"
self.textbox.delete(0, END)
self.textbox.insert(0, str(res))
elif cmd == 'CL':
self.textbox.delete(0, END)
else:
self.textbox.insert(END, cmd)
root = Tk()
root.title("EWCalc")
calcapp = CalcApp(root)
root.mainloop()
What comes out:
