用python中GUI制作简易计算器

话不多说,直接上代码:

import tkinter as tk
win3 = tk.Tk()
win3.title('简易计算器')
win3.geometry('400x300')

result_var = tk.StringVar()

def digit_click(num):
    resul_show.insert('end',num)
def digit(x):
    resul_show.insert('end',x)
def re():
    opt_str = resul_show.get()
    y = eval(opt_str)
    resul_show.insert('end','='+ str(y))
def cls():
    resul_show.delete(0,100)


resul_show = tk.Entry(win3,font='Arial 22',width=15,textvariable=result_var)
btn9 = tk.Button(win3, text='9', width=6,  height=2,command=lambda :digit_click('9'))
btn8 = tk.Button(win3, text='8', width=6, height=2,command=lambda :digit_click('8'))
btn7 = tk.Button(win3, text='7', width=6, height=2,command=lambda :digit_click('7'))
btn6 = tk.Button(win3, text='6', width=6, height=2,command=lambda :digit_click('6'))
btn5 = tk.Button(win3, text='5', width=6, height=2,command=lambda :digit_click('5'))
btn4 = tk.Button(win3, text='4', width=6, height=2,command=lambda :digit_click('4'))
btn3 = tk.Button(win3, text='3', width=6, height=2,command=lambda :digit_click('3'))
btn2 = tk.Button(win3, text='2', width=6, height=2,command=lambda :digit_click('2'))
btn1 = tk.Button(win3, text='1', width=6, height=2,command=lambda :digit_click('1'))
btn0 = tk.Button(win3, text='0', width=6, height=2,command=lambda :digit_click('0'))

btn_point = tk.Button(win3, text='.', width=6, height=2, command=lambda :digit('.'))
btn_add = tk.Button(win3, text='+', width=6, height=2, command=lambda :digit('+'))
btn_equal = tk.Button(win3, text='=',width=6, height=2,command=re)
btn_sub = tk.Button(win3, text='-',width=6, height=2, command=lambda :digit('-'))
btn_cls = tk.Button(win3, text='Cls',width=6, height=5,command=lambda :cls())

resul_show.grid(row=0,column=0,columnspan=4)
btn9.grid(row=1,column=0)
btn8.grid(row=1, column=1)
btn7.grid(row=1, column=2)
btn6.grid(row=2, column=0)
btn5.grid(row=2, column=1)
btn4.grid(row=2, column=2)
btn3.grid(row=3, column=0)
btn2.grid(row=3, column=1)
btn1.grid(row=3, column=2)
btn0.grid(row=4, column=0)

btn_cls.grid(row=1,rowspan=2,column=3)
btn_sub.grid(row=3,column=3)
btn_point.grid(row=4, column=1)
btn_add.grid(row=4, column=2)
btn_equal.grid(row=4, column=3)
win3.mainloop()

 运行效果图如下:

 如有不对之处,欢迎各位的指正,

有更好的方法,欢迎评论区交流。

 如有不懂之处在评论区写出,感谢观看!

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的GUI界面计算器示例代码: ```python import tkinter as tk class Calculator: def __init__(self, master): self.master = master master.title("Calculator") # 创建文本框 self.display = tk.Entry(master, width=30, justify='right') self.display.grid(row=0, column=0, columnspan=4) # 创建数字和运算符按钮 self.create_button('7', 1, 0) self.create_button('8', 1, 1) self.create_button('9', 1, 2) self.create_button('/', 1, 3) self.create_button('4', 2, 0) self.create_button('5', 2, 1) self.create_button('6', 2, 2) self.create_button('*', 2, 3) self.create_button('1', 3, 0) self.create_button('2', 3, 1) self.create_button('3', 3, 2) self.create_button('-', 3, 3) self.create_button('0', 4, 0) self.create_button('.', 4, 1) self.create_button('C', 4, 2) self.create_button('+', 4, 3) self.create_button('=', 5, 0, columnspan=4) def create_button(self, text, row, column, columnspan=1, rowspan=1): button = tk.Button(self.master, text=text, width=5, height=2, command=lambda:self.button_click(text)) button.grid(row=row, column=column, columnspan=columnspan, rowspan=rowspan) def button_click(self, text): if text == 'C': self.display.delete(0, tk.END) elif text == '=': try: result = eval(self.display.get()) self.display.delete(0, tk.END) self.display.insert(0, result) except: self.display.delete(0, tk.END) self.display.insert(0, 'Error') else: self.display.insert(tk.END, text) # 创建窗口 root = tk.Tk() app = Calculator(root) root.mainloop() ``` 这个计算器包括一个文本框和数字和运算符按钮。当用户按下按钮时,数字或运算符将被添加到文本框。当用户按下“=”按钮时,计算结果将被显示在文本框。如果计算出错,文本框将显示“错误”。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值