用tkinter写一个记账本
时间: 2023-07-13 21:15:28 浏览: 107
好的,下面是一个简单的例子,可以创建一个简单的记账本:
```python
import tkinter as tk
root = tk.Tk()
root.title("记账本")
# 定义变量和列表
balance = 0
transaction_list = []
# 定义函数
def add_transaction():
global balance
amount = float(amount_entry.get())
transaction_type = type_var.get()
if transaction_type == "收入":
balance += amount
else:
balance -= amount
transaction_list.append((transaction_type, amount))
update_display()
def update_display():
balance_label.config(text="余额:¥{:.2f}".format(balance))
transaction_text.delete("1.0", tk.END)
for transaction in transaction_list:
transaction_text.insert(tk.END, "{}: ¥{:.2f}\n".format(transaction[0], transaction[1]))
# 创建组件
amount_label = tk.Label(root, text="金额:")
amount_entry = tk.Entry(root, width=10)
type_label = tk.Label(root, text="类型:")
type_var = tk.StringVar()
type_var.set("收入")
type_menu = tk.OptionMenu(root, type_var, "收入", "支出")
add_button = tk.Button(root, text="添加", command=add_transaction)
balance_label = tk.Label(root, text="余额:¥{:.2f}".format(balance))
transaction_text = tk.Text(root, height=10, width=30)
# 布局组件
amount_label.grid(row=0, column=0)
amount_entry.grid(row=0, column=1)
type_label.grid(row=0, column=2)
type_menu.grid(row=0, column=3)
add_button.grid(row=0, column=4)
balance_label.grid(row=1, column=0, columnspan=5)
transaction_text.grid(row=2, column=0, columnspan=5)
# 运行程序
root.mainloop()
```
这个例子创建了一个带有“金额”、“类型”、“添加”按钮、余额和交易记录的窗口。当用户输入金额并选择类型后,点击“添加”按钮,程序会将该笔交易添加到交易记录中,并更新余额和交易记录的显示。交易记录以“类型:金额”的形式显示在Text控件中。
阅读全文