当前位置:首页>python>Python综合练习:做个窗口化的记账软件,快速简单

Python综合练习:做个窗口化的记账软件,快速简单

  • 2026-10-11 08:33:40
Python综合练习:做个窗口化的记账软件,快速简单

石岛编程周老师:实战是掌握编程最快的方法,没有之一放下书本、放下理论,马上动手做起来。

编程的练习都源自生活,今天我们用Python的窗口Tkinter快速做一个记账软件,不会使用Tkinter的朋友也可以快速了解。

一 记账软件知识点

为了让Python初学者学会更多的知识,综合的掌握Python,这个软件特地加入了如下的Python知识点,

我这是都是原创,你在其他地方是肯定找不到同样的、适合Python初学者的记账软件

  1. 循环及条件语句
  2. 常用命令的使用
  3. 列表及常用命令的使用
  4. 字典及常用命令的使用
  5. 函数及返回值
  6. 文件的打开与保存
  7. 异常错误处理
  8. Tkinter窗口的入门使用

二 Python版记账软件的功能实现

1.实现如下记账窗口

2.输入数据,并判断1)日期是否为数字格式2)日期位数是否正确3)必输入项目是否为空4)价格是否为数字

3.将数据保存到文件4.控件内容清空及激活焦点

三 重点功能讲解

  1. 建立窗口 
# 导入 tkinter 模块,并简写为 tkimport tkinter as tk# 创建主窗口root = tk.Tk()# 设置窗口标题root.title("记账程序")# 设置窗口大小和屏幕位置#(宽x高+x偏移+y偏移)root.geometry('300x250+750+250')    其他代码写在这里# 启动 GUI 主事件循环# 最后一行root.mainloop()
  1. 显示一行:标签+文本输入框
#为了将标签和文本框显示在一行#窗口中建立一个容器F1,放在root窗口中F1 = tk.Frame(root)   #F1显示,与上下的间距5 像素F1.pack(pady=5) # 添加字段标签,放在F1窗口中# 内容为日期工,左对齐tk.Label(F1, text=“日期").pack(side="left", padx=5)# 建立文本框控件,显示在F1中e = tk.Entry(F1)e.pack()
  1. 单选按钮的显示 
# 创建 StringVar 变量用于记录“收支”选择(收入/支出)choice = tk.StringVar()# 默认选中“收入”choice.set("收入")  # 使用两个单选按钮(Radiobutton)表示收入/支出tk.Radiobutton(F1, text="收入", variable=choice, value="收入").pack(side="left", padx=10)tk.Radiobutton(F1, text="支出", variable=choice, value="支出").pack(side="left", padx=10) 
  1. 下拉菜单的使用 
# 定义分类下拉选项list_lei = ["餐饮", "交通", "购物", "娱乐", "工资", "转账", "其他"]# 用于绑定 Combobox 的当前值lei = tk.StringVar()  # 默认选中第一个分类:“餐饮”lei.set(list_lei[0]) # 使用只读下拉框(Combobox)供用户选择分类ttk.Combobox(F1, textvariable=lei, values=list_lei, state='readonly', width=17).pack()
  1. 按钮的使用 
# “提交”按钮:调用 dataPro 函数处理并保存数据tk.Button(F2, text=" 提 交 ", command=dataPro).pack(side="left", padx=25)

点击时执行dataPro函数,这个函数是咱自己定义的6. 控件的常用操作

# 获取“日期”输入框内容riqi = 控件变量名.get()#控件的激活,也就是光标闪烁的位置控件变量名.focus()
  1. 信息弹窗的设置 
# 从 tkinter 中导入messagebox(用于弹出提示框)from tkinter import messagebox#显示错误信息messagebox.showerror("错误", "输入的日期不是8位,\n\n格式为20240506")#显示提示信息messagebox.showinfo("提示", "保存成功!")
  1. 异常处理的使用
# 尝试将“价格”转换为浮点数并保留两位小数try:    jia = round(float(jia.strip()), 2)except:# 如果转换失败,说明不是有效数字    messagebox.showerror("错误", "输入的价格应为整数或小数")    dict_entry.get('价格').focus()#结束这个函数return
  1. 保存文件
with open("data.txt", 'a', encoding="utf-8") as f:    f.write(s)  # 写入一行数据

四 源代码

程序源代码已上传,包括完整的代码和注释,可直接运行请在后台获取吧,在这里显示太长了

获取方法

  1. 关注公众号 
  2. 发送消息:记账软件

END

✨ 今日份小成就达成!

如果你觉得这个项目有用,欢迎:️⃣ 点赞/在看——让更多同学看到️⃣ 留言告诉我——你还想做什么作品?️⃣ 关注公众号,更新各种实战项目,不迷路!

✨ 关注:石岛极客编程实战

带你用实战项目快速掌握编程,分享Python、C++、ESP32、掌控板、AI编程等软硬件编程实战项目,欢迎关注!

最新文章

随机文章