您的位置:首页 > 编程语言 > Python开发

从0到1 python简易计算器

2016-01-12 10:28 706 查看
</pre><pre name="code" class="python"><p>利用Tkinter实现一个简易的计算器</p><p># !/usr/bin/env python</p># -*-coding:utf-8 -*-

import Stack
from Tkinter import *

root = Tk()
root.title('Caculator')   #Set Title of Frame

class App:
def Button_Click(self,key):
self.stack.push(1)
self.input_str += key
print self.input_str
self.var.set(self.input_str)
def D_Click(self):
self.input_str = self.input_str[0:-1]
print self.input_str
self.var.set(self.input_str)
def E_Click(self):
result = eval(self.input_str)
self.var.set(result)
self.input_str = ''
def __init__(self,master):
list = []
self.stack = Stack.Stack(list)

self.var = StringVar()
self.var.set("")
self.input_str = ''

# If your command option has argument , please use lamdba
self.show = Entry(master, textvariable=self.var).grid(row = 0, columnspan = 3 )
Button(master, text = '1', command=lambda: self.Button_Click('1'), activeforeground='white',activebackground='green').grid(row=1,column=0)
Button(master, text = '2', command=lambda: self.Button_Click('2'), activeforeground='white',activebackground='green').grid(row=1,column=1)
Button(master, text = '3', command=lambda: self.Button_Click('3'), activeforeground='white',activebackground='green').grid(row=1,column=2)
Button(master, text = '4', command=lambda: self.Button_Click('4'), activeforeground='white',activebackground='green').grid(row=2,column=0)
Button(master, text = '5', command=lambda: self.Button_Click('5'), activeforeground='white',activebackground='green').grid(row=2,column=1)
Button(master, text = '6', command=lambda: self.Button_Click('6'), activeforeground='white',activebackground='green').grid(row=2,column=2)
Button(master, text = '7', command=lambda: self.Button_Click('7'), activeforeground='white',activebackground='green').grid(row=3,column=0)
Button(master, text = '8', command=lambda: self.Button_Click('8'), activeforeground='white',activebackground='green').grid(row=3,column=1)
Button(master, text = '9', command=lambda: self.Button_Click('9'), activeforeground='white',activebackground='green').grid(row=3,column=2)

self.D  = Button(master, text = '←', command=self.D_Click, activeforeground='white',activebackground='green').grid(row=4,column=0)
Button(master, text = '+', command=lambda: self.Button_Click('+'), activeforeground='white',activebackground='green').grid(row=4,column=1)
self.E  = Button(master, text = '=', command=self.E_Click, activeforeground='white',activebackground='green').grid(row=4,column=2)

Button(master, text = '0', command=lambda: self.Button_Click('0'), activeforeground='white',activebackground='green').grid(row=5, sticky=W, columnspan = 2)
Button(master, text = '.', command=lambda: self.Button_Click('.'), activeforeground='white',activebackground='green').grid(row=5,column=2)

if __name__ == "__main__":
app = App(root)
root.mainloop()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: