代码如下:

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做简单计算器的更多相关文章

  1. 平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

    平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

  2. 一个用WPF做的简单计算器源代码

    一.界面设计XAML代码 <Window x:Class="fengjisuanqi.MainWindow" xmlns="http://schemas.micro ...

  3. 菜鸟学Android编程——简单计算器《一》

    菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...

  4. php大力力 [005节] php大力力简单计算器001

    2015-08-22 php大力力005. php大力力简单计算器001: 上网看视频,看了半天,敲击代码,如下: <html> <head> <title>简单计 ...

  5. c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;

    网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...

  6. js实现简单计算器

    效果图: 刚开始做时没考虑到清零和退格两个功能,嘻嘻,后来加的整体与传统计算器比有点小瑕疵. 代码: <!DOCTYPE html><html><head> < ...

  7. HDOJ 1237题 简单计算器

    简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  8. 前缀、中缀、后缀表达式以及简单计算器的C++实现

    前缀表达式(波兰表达式).中缀表达式.后缀表达式(逆波兰表达式) 介绍 三种表达式都是四则运算的表达方式,用以四则运算表达式求值,即数学表达式的求解. 前缀表达式 前缀表达式是一种没有括号的算术表达式 ...

  9. C语言,简单计算器【上】

    由于工作需要最近在研究PHP扩展,无可避免的涉及到了C语言.从出了学校以后C语言在实际工作中还没有用到过,所以必须要先进行一点复习工作.个人认为对于熟悉一样东西说最好的方法是上手实践.于是便想起了当时 ...

随机推荐

  1. Virtual DOM的简单实现

    了解React的同学都知道,React提供了一个高效的视图更新机制:Virtual DOM,因为DOM天生就慢,所以操作DOM的时候要小心翼翼,稍微改动就会触发重绘重排,大量消耗性能. 1.Virtu ...

  2. 记事本App之NABCD

    在经过了漫长的讨论之后,在经历了无数次提议.否定.再提议.改进之后.我们团队的团队项目终于有了结果,小组成员一致同意做一个移动端记事本的app.下面我就来详细的阐明我们项目的NABCD这5大项内容. ...

  3. 第二阶段Sprint冲刺会议1

    进展:总结第一阶段冲刺成就,讨论第二阶段任务,要实现的主要功能,分工及任务认领.

  4. Task 6.2冲刺会议九 /2015-5-22

    今天把之前的跳转问题加以改正并加以优化.遇到的主要问题是跳转的时后时间有点长,以为没有成功.之后查资料说是端口没有及时释放,导致了程序的滞缓.明天要继续把程序的界面进行优化.

  5. ASP.net四则运算《《《策略模式

    Calculator.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; / ...

  6. Beta后续感想/吐槽

    感想 磨人的软工实践终于结束了 艰难的度过了一学期,还是写点什么纪念一下吧. 大一大二的时候就听说软工实践是魔鬼般的锻炼,于是当年不知天高地厚的我是很期待的,终于,我大三了. 后来,我长大了. alp ...

  7. c++ imooc自学计划

    一.视频学习相关的课程列表: C++远征之起航篇http://www.imooc.com/learn/342: C++远征之离港篇http://www.imooc.com/learn/381: C++ ...

  8. Leetcode题库——34.在排序数组中国查找元素的第一个和最后一个位置

    @author: ZZQ @software: PyCharm @file: searchRange.py @time: 2018/11/12 19:19 要求:给定一个按照升序排列的整数数组 num ...

  9. 26_多线程_第26天(Thread、线程创建、线程池)_讲义

    今日内容介绍 1.多线程 2.线程池 01进程概念 A:进程概念 a:进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行, 即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能 ...

  10. 初期测评 A 排序

    https://vjudge.net/contest/240302#problem/A 输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0 ...