基于thinker计算器(未完工)
from tkinter import *
class Calculator(Frame):
def init(self):
Frame.init(self)
self.pack(expand=YES, fill=BOTH)
self.master.title('calculator')
self.master.rowconfigure( 0, weight = 1 )
self.master.columnconfigure( 0, weight = 1 )
self.grid( sticky = W+E+N+S )
display = StringVar()
entry = Entry(self, relief=SUNKEN, textvariable=display)
entry.grid(row=0, column=0, columnspan=4, sticky=W+E+N+S)
grid = '789+456-123*0./='
for index,textChar in enumerate(grid):
a = Button(self, text=textChar, width=5, command=lambda text=textChar:display.set(display.get() + text))
a.grid(row=1+index//4, column=index%4)
button_text = a.cget("text")
if button_text == '=':
a.config(command=lambda:display.set(eval(display.get())))
b = Button(self, text="clear", width=20, command=lambda:display.set(""))
b.grid(row=7, column=0, columnspan=4, sticky=W+E+N+S)
if name == 'main':
Calculator().mainloop()