【python写一个带有界面的计算器】

python写一个带有界面的计算器

为了创建一个带有图形用户界面(GUI)的计算器,我们可以使用Python的tkinter库。tkinter是Python的标准GUI库,它允许我们创建窗口、按钮、文本框等GUI元素。

下面是一个简单的带有GUI的计算器示例:

python 复制代码
import tkinter as tk

class Calculator:
    def __init__(self, root):
        self.root = root
        self.root.title("简单计算器")

        self.result_var = tk.StringVar()
        self.result_var.set("0")

        self.create_widgets()

    def create_widgets(self):
        # 创建显示结果的Entry
        self.result_entry = tk.Entry(self.root, textvariable=self.result_var, font=('Arial', 24), bd=10, insertwidth=4, width=14, borderwidth=4)
        self.result_entry.grid(row=0, column=0, columnspan=4)

        # 创建按钮并放置在网格中
        buttons = [
            '7', '8', '9', '/',
            '4', '5', '6', '*',
            '1', '2', '3', '-',
            'C', '0', '=', '+'
        ]

        row_val = 1
        col_val = 0

        for button in buttons:
            command = lambda x=button: self.click_event(x)
            tk.Button(self.root, text=button, padx=20, pady=20, font=('Arial', 18), command=command).grid(row=row_val, column=col_val)

            col_val += 1
            if col_val > 3:
                col_val = 0
                row_val += 1

    def click_event(self, key):
        current = self.result_var.get()

        if key == "=":
            try:
                self.result_var.set(eval(current))
            except Exception as e:
                self.result_var.set("错误")
        elif key == "C":
            self.result_var.set("0")
        else:
            self.result_var.set(current + key)

if __name__ == "__main__":
    root = tk.Tk()
    app = Calculator(root)
    root.mainloop()

代码说明

  1. Calculator类

    • 初始化方法__init__:设置窗口标题,创建并初始化一个用于显示结果的StringVar变量,然后调用create_widgets方法创建按钮和文本框。
    • create_widgets方法:创建用于显示结果的Entry和用于输入操作的按钮,并将它们放置在网格布局中。
    • click_event方法:处理按钮点击事件。根据点击的按钮更新显示结果。如果点击的是"=",则尝试计算表达式的结果;如果点击的是"C",则清除当前结果;否则,将点击的按钮值追加到当前结果中。
  2. 主程序

    • 创建Tk根窗口实例。
    • 创建Calculator应用实例,传入根窗口。
    • 进入mainloop循环,等待用户交互。

注意事项

  • 使用eval函数计算表达式的结果时,存在安全风险,因为它会执行传入的字符串作为Python代码。在实际应用中,应该使用更安全的解析和计算方法。
  • 本示例仅用于演示目的,并未包含所有可能的错误处理和边界情况。

将上述代码保存为一个Python文件(例如gui_calculator.py),然后在命令行中运行该文件:

sh 复制代码
python gui_calculator.py

这将打开一个带有简单GUI的计算器窗口,您可以在其中输入计算表达式并查看结果。

相关推荐
架构师老Y1 分钟前
007、微服务架构设计与服务拆分策略
python·微服务·架构
Ivanqhz5 分钟前
LLVM IR 转 SMT公式
java·开发语言
小红的布丁9 分钟前
Reactor 模型详解:单 Reactor、主从 Reactor 与 Netty 思想
android·java·开发语言
被摘下的星星17 分钟前
Java的类加载
java·开发语言
skilllite作者20 分钟前
SkillLite 多入口架构实战:CLI / Python SDK / MCP / Desktop / Swarm 一页理清
开发语言·人工智能·python·安全·架构·rust·agentskills
秋月的私语26 分钟前
遥感影像拼接线优化工具:基于Qt+GDAL+OpenCV的从零到一实践
开发语言·qt·opencv
xwz小王子34 分钟前
智元发布 GO-2:动作空间推理 + 全生命周期闭环,让机器人稳定可靠落地
开发语言·golang·机器人
charlie11451419134 分钟前
通用GUI编程技术——图形渲染实战(二十八)——图像格式与编解码:PNG/JPEG全掌握
开发语言·c++·windows·学习·图形渲染·win32
ZC跨境爬虫35 分钟前
批量爬取小说章节并优化排版(附完整可运行脚本)
前端·爬虫·python·自动化
ths51237 分钟前
Python 正则表达式实战指南:从入门到精通(12 个高频案例)(三)
python·正则表达式