Python GUI(tkinter) 25行代码设计简易计算器

设计一个简易的四则运算计算器,实现+,-,*,/功能。

代码部分

from tkinter import *
root = Tk(className = '计算器')
root.geometry('230x100')
#设置输入输出框
content1 = StringVar()
content2 = StringVar()
label1 = Label(root,text="输入:").grid(row = 0,column = 0)
entry1 = Entry(root,textvariable=content1,width=20,justify=RIGHT)
entry1.grid(row = 0,column = 1)
label2 = Label(root,text="结果:").grid(row = 1,column = 0)
entry2 = Entry(root,textvariable=content2,width=20,justify=RIGHT)
entry2.grid(row = 1,column = 1)
#定义计算函数
def equ():
    entry2.delete(0,END)
    entry2.insert(END,str(eval(entry1.get())))
#设置算数按钮
Button(root,text="+",command = lambda *add:entry1.insert(END,'+')).place(x = 10,y = 50)
Button(root,text="-",command = lambda *sub:entry1.insert(END,'-')).place(x = 40,y = 50)
Button(root,text="*",command = lambda *mul:entry1.insert(END,'*')).place(x = 70,y = 50)
Button(root,text="/",command = lambda *div:entry1.insert(END,'/')).place(x = 100,y = 50)
Button(root,text="()",command = lambda *bra:entry1.insert(END,'()')).place(x = 130,y = 50)
Button(root,text="C",command = lambda *clear:entry1.delete(0,END)).place(x = 160,y = 50)
Button(root,text="=",command = equ).place(x = 190,y= 50)
root.mainloop()

结果示例

在这里插入图片描述

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 Tkinter GUI 库制作的 Python 计算器的代码示例: ``` python import tkinter as tk class Calculator: def __init__(self, master): self.master = master master.title("简易计算器") # 创建输入框 self.entry = tk.Entry(master, width=35, borderwidth=5) self.entry.grid(row=0, column=0, columnspan=4, padx=10, pady=10) # 创建按钮 self.button_1 = tk.Button(master, text="1", padx=40, pady=20, command=lambda: self.button_click(1)) self.button_2 = tk.Button(master, text="2", padx=40, pady=20, command=lambda: self.button_click(2)) self.button_3 = tk.Button(master, text="3", padx=40, pady=20, command=lambda: self.button_click(3)) self.button_4 = tk.Button(master, text="4", padx=40, pady=20, command=lambda: self.button_click(4)) self.button_5 = tk.Button(master, text="5", padx=40, pady=20, command=lambda: self.button_click(5)) self.button_6 = tk.Button(master, text="6", padx=40, pady=20, command=lambda: self.button_click(6)) self.button_7 = tk.Button(master, text="7", padx=40, pady=20, command=lambda: self.button_click(7)) self.button_8 = tk.Button(master, text="8", padx=40, pady=20, command=lambda: self.button_click(8)) self.button_9 = tk.Button(master, text="9", padx=40, pady=20, command=lambda: self.button_click(9)) self.button_0 = tk.Button(master, text="0", padx=40, pady=20, command=lambda: self.button_click(0)) self.button_add = tk.Button(master, text="+", padx=39, pady=20, command=self.button_add) self.button_subtract = tk.Button(master, text="-", padx=41, pady=20, command=self.button_subtract) self.button_multiply = tk.Button(master, text="*", padx=40, pady=20, command=self.button_multiply) self.button_divide = tk.Button(master, text="/", padx=41, pady=20, command=self.button_divide) self.button_equal = tk.Button(master, text="=", padx=91, pady=20, command=self.button_equal) self.button_clear = tk.Button(master, text="清除", padx=79, pady=20, command=self.button_clear) # 把按钮放在界面上 self.button_1.grid(row=1, column=0) self.button_2.grid(row=1, column=1) self.button_3.grid(row=1, column=2) self.button_4.grid(row=2, column=0) self.button_5.grid(row=2, column=1) self.button_6.grid(row=2, column=2) self.button_7.grid(row=3, column=0) self.button_8.grid(row=3, column=1) self.button_9.grid(row=3, column=2) self.button_0.grid(row=4, column=0) self.button_clear.grid(row=4, column=1, columnspan=2) self.button_add.grid(row=5, column=0) self.button_subtract.grid(row=6, column=0) self.button_multiply.grid(row=6, column=1) self.button_divide.grid(row=6, column=2) self.button_equal.grid(row=5, column=1, columnspan=2) # 定义操作函数 self.current_num = "" self.first_num = None self.operation = None def button_click(self, number): self.current_num = str(self.current_num) + str(number) self.entry.delete(0, tk.END) self.entry.insert(0, self.current_num) def button_clear(self): self.entry.delete(0, tk.END) self.current_num = "" self.first_num = None self.operation = None def button_add(self): self.first_num = float(self.current_num) self.operation = "+" self.entry.delete(0, tk.END) self.current_num = "" def button_multiply(self): self.first_num = float(self.current_num) self.operation = "*" self.entry.delete(0, tk.END) self.current_num = "" def button_subtract(self): self.first_num = float(self.current_num) self.operation = "-" self.entry.delete(0, tk.END) self.current_num = "" def button_divide(self): self.first_num = float(self.current_num) self.operation = "/" self.entry.delete(0, tk.END) self.current_num = "" def button_equal(self): second_num = float(self.current_num) self.entry.delete(0, tk.END) if self.operation == "+": result = self.first_num + second_num elif self.operation == "-": result = self.first_num - second_num elif self.operation == "*": result = self.first_num * second_num elif self.operation == "/": result = self.first_num / second_num self.entry.insert(0, result) self.current_num = "" self.first_num = None self.operation = None root = tk.Tk() calculator = Calculator(root) root.mainloop() ``` 这个计算器使用Tkinter GUI 库来创建用户界面。用户可以通过按钮输入数字和运算符,计算器会在输入框中显示结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值