用python创建一个日常记账本桌面小程序
时间: 2023-08-10 13:38:57 浏览: 230
使用Python 开发 windows 桌面程序-教程与笔记习题
要使用 Python 创建一个日常记账本桌面小程序,可以使用 Tkinter 创建 GUI 界面,使用 CSV 文件来存储账目数据。
以下是一个简单的示例程序,使用了 Tkinter 创建 GUI 界面,使用 CSV 文件来存储账目数据:
```python
import tkinter as tk
import csv
import os
# CSV 文件路径
csv_file = "accounts.csv"
# 创建窗口
window = tk.Tk()
window.title("日常记账本")
window.geometry("400x300")
# 创建标签和输入框
date_label = tk.Label(window, text="日期:")
date_label.pack()
date_entry = tk.Entry(window)
date_entry.pack()
item_label = tk.Label(window, text="项目:")
item_label.pack()
item_entry = tk.Entry(window)
item_entry.pack()
cost_label = tk.Label(window, text="金额:")
cost_label.pack()
cost_entry = tk.Entry(window)
cost_entry.pack()
# 创建添加按钮
def add_account():
# 获取用户输入的账目信息
date = date_entry.get()
item = item_entry.get()
cost = cost_entry.get()
# 将账目信息写入 CSV 文件中
with open(csv_file, "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([date, item, cost])
# 清空输入框
date_entry.delete(0, tk.END)
item_entry.delete(0, tk.END)
cost_entry.delete(0, tk.END)
add_button = tk.Button(window, text="添加", command=add_account)
add_button.pack()
# 创建显示账目列表的框架和标签
list_frame = tk.Frame(window)
list_frame.pack()
list_label = tk.Label(list_frame, text="账目列表")
list_label.pack()
# 创建账目列表
def create_account_list():
# 如果 CSV 文件不存在,就创建一个空的 CSV 文件
if not os.path.isfile(csv_file):
with open(csv_file, "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["日期", "项目", "金额"])
# 读取 CSV 文件中的账目信息,并创建列表
with open(csv_file, "r") as f:
reader = csv.reader(f)
next(reader) # 跳过标题行
for row in reader:
row_str = " ".join(row)
row_label = tk.Label(list_frame, text=row_str)
row_label.pack()
create_account_list()
# 启动消息循环
window.mainloop()
```
需要注意的是,这个示例程序只是一个简单的演示,实际应用中还需要考虑很多其他因素,比如用户输入验证、账目列表的分页显示等。另外,CSV 文件只适合存储小量数据,如果需要存储大量数据,应该使用数据库。
阅读全文