赞
踩
4,文件写入
二,界面搭建
1,新建窗口
2,为窗口设置标题
3,设置窗口大小
4,编写窗口内容
5,显示窗口
6,运行窗口
三,功能完成
1,增加:追加
2,根据下标删除,移除元素,注意不是移除下标
注意:
manager包下recordManager文件,完整代码
1,增加:
2,删除
①获取被选中的行
②获取这行的数据(获取这行的字典对象,获取字典对象的值)
3,加载
①获取所有的元素
②清空元素
注意:END是一个常量
4,保存
main包下main文件,完整代码
一,模块搭建
======
pojo包下面的record文件,完整代码
import pickle
class Record:
record_id: str
record_name: str
record_money: float
record_type: str
def init(self, record_id: str, record_name: str, record_money: str, record_type: str):
self.record_id = record_id
self.record_name = record_name
self.record_money = record_money
self.record_type = record_type
def str(self):
return f’编号{self.record_id}名字{self.record_name}金额{self.record_money}缴费类型{self.record_type}’
if name==‘main’:
r = Record(‘10001’, ‘小宝’, 3000, ‘医疗保险’)
print®
#报错 TypeError: write() argument must be str, not bytes
with open(‘record.txt’,‘rb’) as f:
print(pickle.load(f))
控制台运行结果
二,界面搭建
======
main包下的main文件
# 新建一个窗口
window=Tk()
# 设置标题
window.title(‘险种管理’)
# 设置大小 widthxheightt+x+y
window.geometry(‘400x400+200+200’)
# 编写控件Treeview
table = Treeview(columns=(‘id’,‘name’,‘money’,‘type’),show=‘headings’)
table.column(‘id’,width=100)
table.column(‘name’,width=100)
table.column(‘money’,width=100)
table.column(‘type’,width=100)
table.heading(‘id’,text=‘记录编号’)
table.heading(‘name’,text=‘缴费者’)
table.heading(‘money’,text=‘缴费金额’)
table.heading(‘type’,text=‘缴费类型’)
# 让控件显示
table.pack()
# 让窗口运行
window.mainloop()
控制台运行效果
三,功能完成
======
loads直接指定二进制的数据
load直接读取文件
import pickle
from pojo.record import Record
class RecordManager:
records: list = []
def init(self):
with open(‘record.txt’, ‘rb’) as f:
data = f.read()
if data == b’':
self.records = pickle.loads(f)
def add_record(self, record):
assert isinstance(record, Record)
self.records.append(record)
def delete_record(self, record_id: str):
for r in self.records:
assert isinstance(r, Record)
if r.record_id == record_id:
self.records.remove®
break
else:
print(“没有这个人”)
def print_record(self):
for r in self.records:
print®
def save_record(self):
with open(‘record.txt’, ‘wb’) as f:
pickle.dump(self.records, f)
manager = RecordManager()
manager.add_record(Record(‘10002’, ‘小
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。