当前位置:   article > 正文

2024年最全python之简易界面编程(模块搭建+界面搭建+功能完成)_python界面编程

python界面编程

4,文件写入

二,界面搭建

1,新建窗口

2,为窗口设置标题

3,设置窗口大小

4,编写窗口内容

5,显示窗口

6,运行窗口

三,功能完成

1,增加:追加

2,根据下标删除,移除元素,注意不是移除下标

注意:

manager包下recordManager文件,完整代码

1,增加:

2,删除

①获取被选中的行

②获取这行的数据(获取这行的字典对象,获取字典对象的值)

3,加载

①获取所有的元素

②清空元素

注意:END是一个常量

4,保存

main包下main文件,完整代码


一,模块搭建

======

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):

self.record_id = record_id

self.record_name = record_name

self.record_money = record_money

self.record_type = record_type

重写toString方法

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®

with open(‘record.txt’,‘w’,encoding=‘utf-8’) as f:

#报错 TypeError: write() argument must be str, not bytes

b binary 二进制

with open(‘record.txt’, ‘wb’) as f:#wb写入二进制

pickle.dump(r,f)#把对象r放到文件f里

with open(‘record.txt’,‘rb’) as f:

print(pickle.load(f))

控制台运行结果

二,界面搭建

======

main包下的main文件

1,新建窗口

# 新建一个窗口

window=Tk()

2,为窗口设置标题

# 设置标题

window.title(‘险种管理’)

3,设置窗口大小

# 设置大小 widthxheightt+x+y

window.geometry(‘400x400+200+200’)

4,编写窗口内容

# 编写控件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=‘缴费类型’)

5,显示窗口

# 让控件显示

table.pack()

6,运行窗口

# 让窗口运行

window.mainloop()

控制台运行效果

三,功能完成

======

1,增加:追加

2,根据下标删除,移除元素,注意不是移除下标

注意:

loads直接指定二进制的数据

load直接读取文件

manager包下recordManager文件,完整代码

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’':

loads直接指定二进制的数据

self.records = pickle.loads(f)

print(‘=======’,f.read())

load直接读取文件

self.records=pickle.load(f)

def add_record(self, record):

assert isinstance(record, Record)

self.records.append(record)

remove() 移除元素

pop() 移除下标

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’, ‘小

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/821677
推荐阅读
相关标签