从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()
相关文章推荐
- Cairo Tutorial for Python Programmers
- 堆排序(Python版)
- 直接选择排序(Python版)
- Python标准库00-02
- python学习的一点点心得
- Python输入和输出
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- 安装python的easy_install和pip
- windows下python自动补齐
- Python实现对嵌套列表字典按某一元素合并及lambda的使用
- Python基础01 Hello World! >>> 结束符 exit()
- Python堡垒机实现之基础知识
- python系列之 - 函数
- Python资料& 个人日常总结 _20151220
- python isinstance(), stack,判断list, dict, tuple为空
- python学习之js从0开始
- python多版本管理pyenv
- leetcode之 Lowest Common Ancestor of a Binary Tree
- Python简介
- python练习之员工信息采集程序接口与判断