from tkinter import *;
from tkinter.ttk import *;
class calculator():
def __init__(self):
self.viewInit();
def viewInit(self):
self.view = Tk();
self.input = StringVar();
self.entry = Entry(self.view,textvariable = self.input);
self.entry.pack(side = TOP,fill = BOTH);
self.buttonInit();
def buttonInit(self):
leftFrame = self.__frame(side = LEFT);
for row in ('123','456','789','0.='):
frm = self.__frame(master = leftFrame,side = TOP);
for num in row:
if '=' == num:
Button(frm,text = num,width = 3,command = lambda t = self.input,num = num : self.input.set(eval(self.input.get()))).pack(side = LEFT,fill = BOTH,expand = YES,padx =2,pady = 2)
else:
Button(frm,text = num,width = 3,command = lambda t = self.input,num = num : self.input.set(self.input.get() + num)).pack(side = LEFT,fill = BOTH,expand = YES,padx =2,pady = 2);
rightFrame = self.__frame(side = RIGHT);
for char in ('+-*/'):
frm = self.__frame(side = TOP,master = rightFrame);
Button(frm,text = char,width = 3,command = lambda char = char : self.input.set(self.input.get() + char)).pack(side = LEFT);
def __frame(self,side,master = None):
if None == master : master = self.view;
frm = Frame(master);
frm.pack(side = side,fill = BOTH,expand = YES);
return frm;
def run(self):
self.view.mainloop();
cal = calculator();
cal.run();
学习了两天的python基础,周末花时间做了个计算器程序。功能上还有些bug,不过作为学习用还是可以的。