加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python Tkinter实现简易计算器功能

发布时间:2020-12-17 07:29:17 所属栏目:Python 来源:网络整理
导读:闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的,使用偏函数可以简化参数传递,避免同样的参数传递写N次。 # -*- coding: utf

闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的,使用偏函数可以简化参数传递,避免同样的参数传递写N次。

# -*- coding: utf-8 -*- 
#author: Cullen 
 
#import the module 
from Tkinter import * 
import tkFont 
import os 
from functools import partial 
from PIL import Image,ImageTk 
 
def get_input(entry,argu): 
  entry.insert(END,argu) 
 
def backspace(entry): 
  input_len = len(entry.get()) 
  entry.delete(input_len - 1) 
 
def clear(entry): 
  entry.delete(0,END) 
 
def calc(entry): 
  input = entry.get() 
  output = str(eval(input.strip())) 
  clear(entry) 
  entry.insert(END,output) 
 
def cal(): 
  root = Tk() 
  root.title("Calc") 
  root.resizable(0,0) 
 
  entry_font = tkFont.Font(size=12) 
  entry = Entry(root,justify="right",font=entry_font) 
  entry.grid(row=0,column=0,columnspan=4,sticky=N+W+S+E,padx=5,pady=5) 
 
  button_font = tkFont.Font(size=10,weight=tkFont.BOLD) 
  button_bg = '#D5E0EE' 
  button_active_bg = '#E5E35B' 
 
  myButton = partial(Button,root,bg=button_bg,padx=10,pady=3,activebackground = button_active_bg) 
 
  button7 = myButton(text='7',command=lambda : get_input(entry,'7')) 
  button7.grid(row=1,pady=5) 
 
  button8 = myButton(text='8','8')) 
  button8.grid(row=1,column=1,pady=5) 
 
  button9 = myButton(text='9','9')) 
  button9.grid(row=1,column=2,pady=5) 
 
  button10 = myButton(text='+','+')) 
  button10.grid(row=1,column=3,pady=5) 
 
  button4 = myButton(text='4','4')) 
  button4.grid(row=2,pady=5) 
 
  button5 = myButton(text='5','5')) 
  button5.grid(row=2,pady=5) 
 
  button6 = myButton(text='6','6')) 
  button6.grid(row=2,pady=5) 
 
  button11 = myButton(text='-','-')) 
  button11.grid(row=2,pady=5) 
 
  button1 = myButton(text='1','1')) 
  button1.grid(row=3,pady=5) 
 
  button2 = myButton(text='2','2')) 
  button2.grid(row=3,pady=5) 
 
  button3 = myButton(text='3','3')) 
  button3.grid(row=3,pady=5) 
 
  button12 = myButton(text='*','*')) 
  button12.grid(row=3,pady=5) 
 
  button0 = myButton(text='0','0')) 
  button0.grid(row=4,columnspan=2,padx=3,pady=5,sticky=N+S+E+W) 
 
  button13 = myButton(text='.','.')) 
  button13.grid(row=4,pady=5) 
 
  button14 = Button(root,text='/','/')) 
  button14.grid(row=4,pady=5) 
 
  button15 = Button(root,text='<-',command=lambda : backspace(entry),activebackground = button_active_bg) 
  button15.grid(row=5,pady=5) 
 
  button16 = Button(root,text='C',command=lambda : clear(entry),activebackground = button_active_bg) 
  button16.grid(row=5,pady=5) 
 
  button17 = Button(root,text='=',command=lambda : calc(entry),activebackground = button_active_bg) 
  button17.grid(row=5,sticky=N+S+E+W) 
 
  root.mainloop() 
 
if __name__ == '__main__': 
  cal() 

下面是运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

您可能感兴趣的文章:

  • python实现简易版计算器
  • Python+tkinter使用40行代码实现计算器功能
  • python使用tkinter实现简单计算器
  • python 简易计算器程序,代码就几行
  • 仅用50行代码实现一个Python编写的计算器的教程
  • 基于python的Tkinter实现一个简易计算器
  • Python实现简单的四则运算计算器
  • python正则表达式之作业计算器
  • 基于wxpython开发的简单gui计算器实例
  • Python使用wxPython实现计算器

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读