0


python实现图书管理系统(带gui)

0. 简介

这是这学期一门关于python的课程的大作业,我用了pyqt5来做界面,实现了一个简单的图书管理系统,其功能包括图书信息和读者信息的增删查找,源代码放在最后。

1.实现思路与基本架构

该项目的实现主要经过了以下几步:

step1 界面设计

首先设计各个模块的位置以及界面的安排。经过考虑,我设计了四个模块,分别是图书信息维护、读者信息维护、图书信息查询、读者信息查询。
图书信息维护模块包含了图书信息的添加,有从文件中添加和自己手动添加两种方式。读者信息维护也同理。
而图书信息查询模块则是输入要查询的图书信息,在图书馆中进行图书的查阅,输出图书的各种信息。读者信息查询也是一样的。

step2 数据结构设计

为了便于之后的操作,数据结构我设置的比较精细。大体来说,整个主程序(不包括界面部分)使用了三个类,分别是Library类、reader类和book类。具体的数据结构框架如下图。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

step3 相关函数接口编写

在定义完数据结构后,需要对Library类定义一些方法,便于后面与图形界面的交互操作。这里我写了一些操作接口,包含

drop_reader()

,

search_book()

等操作。

step4 整合界面

这一步需要将之前写的界面和主程序进行整合,并定义槽函数,将主程序的函数与界面连接起来,完成图形化交互。

2. 程序运行逻辑

程序的运行流程如下:

step1

利用

pickle

模块从数据中实例化

Library

类,并实例化

My_window

类。

step2

用户在主菜单中点击相应的模块跳转到对应的

frame
step3

在每个功能区等待用户输入数据,输入数据完成点击

button

触发对应的事件函数,并进行相应的数据操作。

step4

点击“退出系统”按键后,利用

pickle

模块将图书馆实例保存到数据文件中,下一次打开程序时会自动读取。

3. 操作说明

3.1 图书信息维护界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

该界面可以实现图书信息的批量读取以及单条信息的添加。
如果要批量读取图书信息,只需将文件放入路径下的

/data

文件夹,并输入对应文件名,点击导入即可。
文件格式如下:

三体 978 重庆出版社 2008 刘慈欣
昆虫记 546 商务印书馆 2012 法布尔
童年 277 商务印书馆 2014 高尔基
电磁学 3-43 中国科学技术大学出版社 2017 叶邦角
量子力学学习指导 413 中国科学技术大学出版社 2019 张鹏飞
固体物理学 4834 高等教育出版社 1988 黄昆

如果需要添加单条读者信息,只需要在对应输入框内写好图书信息,点击添加图书即可。

3.2 读者信息维护界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述
操作方式同上。
读者信息文件格式如下:

张三 13728574382 是
安义 15709122812 是
黄文 938123882 否
王子 289871912 是
何云零 13827005831 否

3.3 图书信息查询界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

该页面可以实现图书信息的查询,图书的借阅、入库、出库、删除、修改
在输入要查询的图书信息后,如果输入的信息正确,将会显示查找到的图书,并附带有一定的操作。

在这里插入图片描述

点击对应按钮可以对图书进行相应的操作。

3.4 读者信息查询界面

在这里插入图片描述

该界面可以实现读者借阅记录的查询,读者信息的修改以及删除

用法同上。

源代码:https://gitee.com/ignorejjj/book/tree/master

标签: python pyqt5

本文转载自: https://blog.csdn.net/weixin_49522987/article/details/122601240
版权归原作者 莱宝是菜宝 所有, 如有侵权,请联系我们删除。

“python实现图书管理系统(带gui)”的评论:

还没有评论