• 用python写个计算器


    tkinter图形界面

    • Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
    # 导入tkineter库
    import tkinter
    
    # 获取一个窗口
    window = tkinter.Tk()
    # 设置标题
    window.title('subeiLY的计算器')
    # 设置窗口大小
    window.geometry('300x200')
    
    # 输入方法
    def add(n):
        # 获取到n1文本框的值
        n1 = inp.get()
        # 清空文本框
        inp.delete(0,len(n1))
        # 插入原来的加上新输入参数n
        inp.insert(0,n1+str(n))
    
    # 执行计算方法
    def calc():
        n1 = inp.get()  
        inp.delete(0,len(n1))
        # 把文本框的字符串用eval当代码执行一次,再插入到文本框
        inp.insert(0,str(eval(n1)))
    
    # 清空文本框
    def clear():
        n1 = inp.get()  
        inp.delete(0,len(n1))
    
    # 删除最后一个字符
    def back():
        n1 = inp.get()  
        inp.delete(len(n1)-1,len(n1))
    
    # 计算绝对值
    def ab():
        n1 = inp.get()  
        inp.delete(0,len(n1))
        inp.insert(0,str(eval(n1)*-1))
    
    # 设置一个文本框
    inp = tkinter.Entry(window, width=25)
    # 在第0行,第0个,合并5列
    inp.grid(row=0,column=0,columnspan=5)
    
    
    # 用for循环 创建 123 456 789 9个按钮
    for i in range(0,3):
        for j in range(1,4):
            n = j+i*3
            btn=tkinter.Button(window, text=str(j+i*3),width=5, command=lambda n=n:add(n))
            btn.grid(row=i+2,column=j-1)
    # 删除按钮(窗口,宽度,文本,执行命令).grid(1行,0列)
    tkinter.Button(window,width=5, text="C", command=clear).grid(row=1,column=0)
    tkinter.Button(window,width=5, text="←", command=back).grid(row=1,column=1)
    tkinter.Button(window,width=5, text="+/-", command=ab).grid(row=1,column=2)
    
    # 删除按钮(窗口,宽度,文本,背景色,文本颜色,执行命令并传入参数).grid(1行,4列)
    tkinter.Button(window,width=5, text="+",bg="#f70",fg="#fff",command=lambda:add("+")).grid(row=1,column=4)
    tkinter.Button(window,width=5, text="-", bg="#f70",fg="#fff",command=lambda:add("-")).grid(row=2,column=4)
    tkinter.Button(window,width=5, text="×",bg="#f70",fg="#fff",command=lambda:add("*")).grid(row=3,column=4)
    tkinter.Button(window,width=5, text="÷",bg="#f70",fg="#fff",command=lambda:add("/")).grid(row=4,column=4)
    tkinter.Button(window,width=12,text="0", command=lambda:add("0")).grid(row=5,column=0,columnspan=2)
    tkinter.Button(window,width=5,text="=", bg="#f70",fg="#fff",command=calc).grid(row=5,column=4)
    tkinter.Button(window,width=5, text=".", command=lambda:add(".")).grid(row=5,column=2)
    
    # 进入消息循环
    window.mainloop()
    

    注意

    • eval 把字符串当python代码执行
    • len() 方法计算字符串长度
    • inp.get()获取到文本框的值
    • inp.delete(start,end)删除文本框的字符从start个删除到end个
    • inp.insert(start,str)插入文本框字符 从start插入str字符
    欢迎查阅
  • 相关阅读:
    postgresql 的统计信息
    postgresql 查看表、列的备注信息
    redis 4.0.9 cluster + startup stop
    redis 4.0.9 cluster + failover
    oracle ebs r12 打补丁的步骤
    centos 7.4 + redis 4.0.9 cluster + make
    pgpool running mode
    pgpool + streaming replication mode + slave down up
    pgpool 的安装之一
    postgresql 函数的三个状态
  • 原文地址:https://www.cnblogs.com/gh110/p/14989001.html
Copyright © 2020-2023  润新知