使用tkinter做简单计算器
代码如下:
from tkinter import * #导入tkinter库
root =Tk() #给窗体
root.title('calculator') #设置窗体名字
frm=Frame(root,bg='pink') #新建框架
frm.pack(expand = YES,fill = BOTH) #放置框架
display=StringVar()
e=Entry(frm,textvariable=display) #添加输入框
e.grid(row=,column=,sticky=N,columnspan=,rowspan=) #放置输入框位置 def print_jia():
e.insert(INSERT,'+')
def print_jian():
e.insert(INSERT,'-')
def print_cheng():
e.insert(INSERT,'*')
def print_chu():
e.insert(INSERT,'/')
def print_dengyu():
e.insert(INSERT,'=') Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,sticky=W) #设置按钮,lambda为匿名函数
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,sticky=W)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,sticky=W,rowspan=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,rowspan=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,rowspan=)
Button(frm,text='/',width=,bg='white',command=print_chu).grid(row=,column=,sticky=E)
Button(frm,text='*',width=,bg='white',command=print_cheng).grid(row=,column=,sticky=E)
Button(frm,text='-',width=,bg='white',command=print_jian).grid(row=,column=,sticky=E)
Button(frm,text='+',width=,bg='white',command=print_jia).grid(row=,column=,sticky=E)
Button(frm,text='=',width=,bg='white',command= lambda :cal(display)).grid(row=,column=,sticky=E)
Button(frm,text='clear',width=,bg='red',command= lambda :display.set('')).grid(row=,column=,sticky=W)
Button(frm,text='',width=,bg='red',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='.',width=,bg='red',command= lambda :e.insert(INSERT,'.')).grid(row=,column=)
def cal(display): #eval函数将字符串转化为表达式
display.set(eval(display.get())) print('OK')
root.mainloop() #让程序一直循环
使用tkinter做简单计算器的更多相关文章
- 平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器
平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器
- 一个用WPF做的简单计算器源代码
一.界面设计XAML代码 <Window x:Class="fengjisuanqi.MainWindow" xmlns="http://schemas.micro ...
- 菜鸟学Android编程——简单计算器《一》
菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...
- php大力力 [005节] php大力力简单计算器001
2015-08-22 php大力力005. php大力力简单计算器001: 上网看视频,看了半天,敲击代码,如下: <html> <head> <title>简单计 ...
- c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;
网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...
- js实现简单计算器
效果图: 刚开始做时没考虑到清零和退格两个功能,嘻嘻,后来加的整体与传统计算器比有点小瑕疵. 代码: <!DOCTYPE html><html><head> < ...
- HDOJ 1237题 简单计算器
简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- 前缀、中缀、后缀表达式以及简单计算器的C++实现
前缀表达式(波兰表达式).中缀表达式.后缀表达式(逆波兰表达式) 介绍 三种表达式都是四则运算的表达方式,用以四则运算表达式求值,即数学表达式的求解. 前缀表达式 前缀表达式是一种没有括号的算术表达式 ...
- C语言,简单计算器【上】
由于工作需要最近在研究PHP扩展,无可避免的涉及到了C语言.从出了学校以后C语言在实际工作中还没有用到过,所以必须要先进行一点复习工作.个人认为对于熟悉一样东西说最好的方法是上手实践.于是便想起了当时 ...
随机推荐
- 2018-2019-20172321 《Java软件结构与数据结构》第九周学习总结
2018-2019-20172321 <Java软件结构与数据结构>第九周学习总结 教材学习内容总结 第15章 图 无向图 图由顶点和边组成. 顶点由名字或标号来表示,如:A.B.C.D: ...
- apm server
目录 1.apm的tomcat启动失败解决方法 2.apm的mysql修改root密码的方法 内容: 1.apm的tomcat启动失败解决方法 APMServ5.2.6 无法启动Apache的一个问题 ...
- Sprint会议3
昨天:熟悉了一下软件操作,设计了图标. 今天:今天满课,没有做什么实质性的进展. 遇到问题:由于没干什么,也没遇到什么问题.
- 关于 Java连接sql的转载
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别是mssqlserver.jar.msutil.jar ...
- 《TCP/IP 详解 卷1:协议》第 11 章:名称解析和域名系统
引言 到目前为止,我们使用 IP 地址来研究参与网络的主机.对于大众来说,这些地址太繁琐且难以记忆.为了使用如 TCP 和 IP 等协议,主机名称通过名为名称解析(name resolution)的过 ...
- 《软件工程和Python》PYTHON效能分析和Django
资料汇总网站:http://www.yzhiliao.com/my/course/55 一..作业下面两个题目任选一题: (1)运用jieba库分词(或者你喜欢的其他库),并把代码发到git上去(不发 ...
- SVM (support vector machine)
简单原理流程转自:http://wenku.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuEwWENnSuPS32QO8X0a0gHpOOzdnNt_K0mK2cucV ...
- php错误报告和调试
3. 错误报告和调试 常常犯的一个错误是忘记关闭 PHP 错误和数据库错误报告,这样做是有风险的.在任何一个公开的站点,error_reporting 应该设置为0 ,最多只能设置为 E_ERROR, ...
- ACM数论之旅1---素数(万事开头难(>_<))
前言:好多学ACM的人都在问我数论的知识(其实我本人分不清数学和数论有什么区别,反正以后有关数学的知识我都扔进数论分类里面好了) 于是我就准备写一个长篇集,把我知道的数论知识和ACM模板都发上来(而且 ...
- 删除log日志中包含某个字符的行
sed -i '/{Str}/d' abc.txt 假如你的log日志中某行有sleep字符,直接输入命令: sed -i '/sleep/d' log.log 如果删除的是一个变量的值,假如是var ...