python设计一个具有加、减、乘、除功能的简单计算器

最终的计算器效果可以参考如下:

1、导入Tkinter库:首先,导入tkinter模块及其子模块,用于显示错误信息。

2、创建主窗口:使用tk.Tk()创建一个主窗口,并设置窗口标题和大小。

3、设计界面布局:使用grid布局管理器,将Entry控件(用于输入数字)、OptionMenu控件(模拟ComboBox,用于选择操作符)、Label控件(用于显示结果)和Button控件(用于触发计算)按指定位置排列。

完整代码如下:

import tkinter as tk
def frame(root, side):
    f = tk.Frame(root)
    f.pack(side=side, expand=True, fill=tk.BOTH)
    return f


def button(root, side, text, command=None):
    btn = tk.Button(root, text=text, font=('宋体', '12'), command=command)
    btn.pack(side=side, expand=True, fill=tk.BOTH)
    return btn


class Calculator(tk.Frame):
    def __init__(self):
        tk.Frame.__init__(self)
        self.pack(expand=True, fill=tk.BOTH)
        self.master.title('简易计算器')
        self.display = tk.StringVar()

        entry = tk.Entry(self, relief=tk.SUNKEN, font=('宋体', '20', 'bold'), textvariable=self.display)
        entry.pack(side=tk.TOP, expand=True, fill=tk.BOTH)

        clearF = frame(self, tk.TOP)
        button(clearF, tk.LEFT, '清除', lambda w=self.display: w.set(''))

        for key in '123+', '456-', '789*', '.0=/':
            keyF = frame(self, tk.TOP)
            for char in key:
                if char == '=':
                    btn = button(keyF, tk.LEFT, char)
                    btn.bind('<ButtonRelease-1>', lambda e, s=self, w=self.display: s.calc(w))
                else:
                    button(keyF, tk.LEFT, char, lambda w=self.display, c=char: w.set(w.get() + c))

    def calc(self, display):
        try:
            display.set(eval(display.get()))
        except Exception:
            display.set("ERROR")

5、运行主循环:最后,调用root.mainloop()启动Tkinter的主事件循环,使界面保持显示并响应用户操作。

6、效果展示

通过点击可以将要处理的数据显示在这里。输入要进行的运算再点击“=”,即可得到结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值