闲暇时间用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实现计算器 总结以上是内存溢出为你收集整理的Python Tkinter实现简易计算器功能全部内容,希望文章能够帮你解决Python Tkinter实现简易计算器功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)