简介
这是一个用 Python 开发的可视化的名片管理系统,主要实现名片的添加、删除、修改三大功能。效果图如下所示
首页
添加页面
思路分析
界面实现:使用 Tkinter 库进行 GUI 界面设计开发。tkinter 是 python 内置的一套用于开发 GUI 程序的包。
数据存储:1.0版本的数据在内存中以列表形式存储,序列化到本地时使用文件存储方案
# 所有数据集合
self.all_items = []
代码结构:项目有三个窗口,分别是主界面、添加界面,修改界面,每一个界面使用一个类进行组织,并提供一个 show 方法,用于显示窗口,因为添加和修改界面可以公用,所以只需定义两个界面类即可。
主界面:MainFrame
添加/修改界面:InputFrame
代码结构如下所示
类结构
程序启动时,新建主界面的实例对象,然后调用 show 方法即可运行程序。
image.png
开发环境
开发工具:Pycharm
辅助包:tkinter
代码实现
from tkinter import *
from tkinter import messagebox
# 定义一个主窗口界面类,其父类为 object
class MainFrame(object):
# 初始化主窗口
def __init__(self):
# 初始化所有数据集合列表
self.all_items = []
# 使用Tk()函数创建顶级窗口(主窗口)
self.root = Tk()
# 窗口自定义名称为“名片管理系统”
self.root.title("名片管理系统")
# 设置主窗口大小
self.root.wm_minsize(width=400, height=300)
# 定义 show 方法:显示主窗口布局
def show(self):
# 显示顶部区域信息
self.addTopFrame()
# 初始化信息列表区域
self.initContent()
# 从本地文件加载以存储的信息
self.loadData()
# 显示出所有的名片信息
self.showAllItem()
# 开启主界面,进入主循环
self.root.mainloop()
# 定义 showAllItem 方法,显示所有列表信息
def showAllItem(self):
# 遍历循环所有的列表信息
for data in self.all_items:
# 添加信息到列表界面
self.showItem(data)
# 定义 save_2_file 方法,将已经添加的名片信息存储到本地文件中
def save_2_file(self):
# 打开文件
f = open("contacts.data", "w")
# 将已经添加的信息以字符串形式写入次文件
f.write(str(self.all_items))
# 关闭文件
f.close()
# 定义一个lo