使用python开发一个exe版本的计算器项目练习

发布于:2025-06-26 ⋅ 阅读:(16) ⋅ 点赞:(0)

最近在练习python开发软件,就开发了一个 客户端版的 计算器。先给大家看一下 做出来的样子
在这里插入图片描述
python版本:3.8 以上
主要是 使用 import tkinter as tk 这个库来实现图形界面开发

代码还是比较简单的:

# 创建主窗口
root = tk.Tk()
root.title("python简单计算器项目练习")  # 设置窗口标题
root.geometry("380x700")  # 设置窗口大小
root.configure(bg="#1e1e1e")  # 设置背景颜色

# 显示输入与结果的区域
entry_var = tk.StringVar()  # 字符串变量用于绑定 Entry 内容
entry = tk.Entry(root, textvariable=entry_var, font=("Helvetica", 32),
                 bg="#1e1e1e", fg="white", bd=0, justify='right', relief='flat')
entry.pack(fill="both", ipadx=8, ipady=30, padx=20, pady=(30, 10))  # 布局并设置内边距

# 绑定键盘输入事件
root.bind("<Key>", keypress)

# 创建按钮的函数,方便重复使用
def create_btn(parent, text, cmd, bg="#2a2d2e", fg="white"):
    return tk.Button(parent, text=text, command=cmd,
                     font=("Helvetica", 20), bg=bg, fg=fg,
                     relief="flat", activebackground="#444", activeforeground="white",
                     height=2, width=4)

# 定义按钮布局和每个按钮的功能
buttons = [
    [("C", clear, "#d64541"), ("←", backspace, "#e67e22"), ("%", lambda: press("%"), "#3a3f44"), ("/", lambda: press("/"), "#3498db")],
    [("7", lambda: press("7")), ("8", lambda: press("8")), ("9", lambda: press("9")), ("*", lambda: press("*"), "#3498db")],
    [("4", lambda: press("4")), ("5", lambda: press("5")), ("6", lambda: press("6")), ("-", lambda: press("-"), "#3498db")],
    [("1", lambda: press("1")), ("2", lambda: press("2")), ("3", lambda: press("3")), ("+", lambda: press("+"), "#3498db")],
    [("0", lambda: press("0")), ("0", lambda: press("0")), (".", lambda: press(".")), ("=", equal, "#2ecc71")]
]

# 创建按钮区域的容器框架
btn_frame = tk.Frame(root, bg="#1e1e1e")
btn_frame.pack(padx=20, pady=10)

# 遍历按钮列表,逐行添加按钮
for r, row in enumerate(buttons):
    row_frame = tk.Frame(btn_frame, bg="#1e1e1e")  # 每一行一个 Frame
    row_frame.pack(expand=True, fill="both", pady=4)  # 设置填充和间距
    for i, (txt, func, *color) in enumerate(row):
        bg = color[0] if color else "#2a2d2e"  # 如果指定了背景色就用指定的,否则用默认色
        btn = create_btn(row_frame, txt, func, bg)  # 创建按钮
        btn.grid(row=r, column=i, sticky="nsew", padx=5, pady=3)  # 放置按钮
        row_frame.grid_columnconfigure(i, weight=1)  # 平分行内按钮宽度

# 启动主事件循环
root.mainloop()

在这里插入图片描述

打包 exe命令 :

安装 :pyinstaller
pip install pyinstaller

在项目根目录下执行
打包命令:

pyinstaller --onefile --windowed  main.py

有兴趣的小伙伴,可以拿去看看,希望能在你编程学习的过程中帮助到你。
完整代码和简单的操作说明已经打包好了。可以获取:
https://wwwoop.com/home/Index/projectInfo?goodsId=91&typeParam=2&subKey=1


网站公告

今日签到

点亮在社区的每一天
去签到