python之简易界⾯编程(模块搭建+界⾯搭建+功能完成)⽬录
⼀,模块搭建
1,定义险种对象
2,重写构造
3,重写toString
4,⽂件写⼊
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):
# 重写toString⽅法
def __str__(self):
return f'编号{d_id}名字{d_name}⾦额{d_money}缴费类型{d_type}'
if __name__=='__main__':
r = Record('10001', '⼩宝', 3000, '医疗保险')
print(r)
# with open('','w',encoding='utf-8') as f:
#报错 TypeError: write() argument must be str, not bytes
# b  binary ⼆进制
# with open('', 'wb') as f:#wb写⼊⼆进制
#    pickle.dump(r,f)#把对象r放到⽂件f⾥
with open('','rb') as f:
print(pickle.load(f))
控制台运⾏结果
⼆,界⾯搭建
main包下的main⽂件
1,新建窗⼝
# 新建⼀个窗⼝
window=Tk()
2,为窗⼝设置标题
# 设置标题
window.title('险种管理')
3,设置窗⼝⼤⼩
# 设置⼤⼩  widthxheightt+x+y
4,编写窗⼝内容
# 编写控件Treeview
table = Treeview(columns=('id','name','money','type'),show='headings') lumn('id',width=100)
table.heading('id',text='记录编号')
table.heading('name',text='缴费者')
table.heading('money',text='缴费⾦额')
table.heading('type',text='缴费类型')
5,显⽰窗⼝
# 让控件显⽰
table.pack()
6,运⾏窗⼝
# 让窗⼝运⾏
window.mainloop()
控制台运⾏效果
三,功能完成
1,增加:追加
2,根据下标删除,移除元素,注意不是移除下标注意:
loads直接指定⼆进制的数据
load直接读取⽂件
manager包下recordManager⽂件,完整代码
import pickle
d import Record
class RecordManager:
records: list = []
def __init__(self):
# 初始化后开始加载⽂件中的数据
with open('', 'rb') as f:
data = f.read()
if data == b'':
# loads直接指定⼆进制的数据
# print('=======',f.read())
# load直接读取⽂件
# ds=pickle.load(f)
def add_record(self, record):
assert isinstance(record, Record)
# remove()    移除元素
# pop()  移除下标
def delete_record(self, record_id: str):
for r ds:
assert isinstance(r, Record)
d_id == record_id:
break
else:
print("没有这个⼈")
def print_record(self):
for r ds:
print(r)
def save_record(self):
with open('', 'wb') as f:
pickle.ds, f)
manager = RecordManager()
manager.add_record(Record('10002', '⼩ ', 5000, '⽣育保险')) manager.add_record(Record('10003', '⼩ ', 3000, '失业保险')) manager.print_record()
manager.save_record()
import pickle
# Java中
# 序列化:将对象变成⽂件
# 反序列化:将⽂件变成对象
控制台运⾏结果