PyQt项目实战-图书馆管理系统

趁着假期哪里也去不了把PyQt5的相关的知识点全部都梳理了一遍,趁着知识点还热乎,赶紧做个小项目实战一下。

这个项目包含开发一个桌面应用普遍需要的一些知识点,可以说把这个项目理解透,那么桌面端软件开发需求来了就都能做了,剩下的无非就是把界面做的更好看一点,把交互做到让各方满意,这些就是靠时间慢慢磨,但从功能上来说应该是都能下手做了。

先不说代码,无论开发什么应用类的项目,单从设计上来说,都需要包含界面设计,后台逻辑以及数据持久化三部分,好比MVC(Model–View–Controller),Python的Django里面有MVT(Model–View–Template),我们开发的时候也可以遵从这种软件架构模型,以下为各模块用到的关键技术点:

  • 界面设计:Qt Designer
  • 后台逻辑:需要将耗时长的放到QThread里面,避免界面卡死
  • 数据持久化:使用SQLite
  • 软硬件交互:串口

以下为简短需求介绍:

图书管理系统需求文档

  1. 查询页面:可以查询图书馆所有的书籍信息,包含编号,书名以及在借状态
  2. 登陆页面:有管理员和用户两种角色,管理员通过账号密码登陆,用户通过硬件刷卡登陆(模拟借书证,学生证刷卡借书的动作)
  3. 管理员页面:显示管理员信息,可以增删改查图书库里的书籍
  4. 用户信息:显示用户信息,显示用户借书信息,可以借书操作

以下为详细开发过程:

界面设计

使用Qt Designer设计界面,包含需求中的4个页面,这里有几个比较重要的实现的知识点。

  1. 点击左侧导航栏右侧页面跟着发生变化,是用QListWidget和QStackedWidget开发的
  2. 在页面布局的时候,为了防止控件不可控的被放大缩小改变位置,可以先把控件放到一个widget里

后台逻辑

查询页面:查询并显示书本的编号,书名,在借状态,用到的技术点是把查询的关键字传给QThread,执行完数据库操作后,再把结果通过信号的方式给界面,更新TableWidget控件的内容

登陆页面:管理员登陆,用到的技术点是输入账号密码后,发给QThread,在数据库中查询进行匹配,如果有则登陆成功,跳转到管理员详情页

用户登陆:用户需要刷卡登陆,通信的方式取决于外围设备的协议,这里选择通过串口通信,图示为做的一个学生证,包含芯片同软件进行交互。

登陆后跳转到用户详情页,显示用户信息,在借书本,以及进行借书操作。

用到的技术点是通过串口和外围设备进行通信。

通过这个项目,巩固了界面设计,后台逻辑和界面更新的分离,数据库操作,软件和硬件的交互,这四个知识点弄通后,以后任何的桌面软件类开发项目都ok了。

码代码不易,需要源码的私信留言。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人迈克猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值