PyQt5搭建图书馆管理系统(11)——窗口信号与槽以及主窗口循环(项目完)

管理员主页信号与槽

窗口内信号与槽

在管理员主页代码的setUpUI中,可以看到如下代码

1
2
3
self.addBookButton.clicked.connect(self.addBookButtonClicked)
self.dropBookButton.clicked.connect(self.dropBookButtonClicked)
self.userManageButton.clicked.connect(self.userManage)

这是Qt自带的信号与槽机制,也就是QPushButton点击触发,分别是

  • 添加书籍按钮点击触发弹出添加书籍对话框
  • 淘汰书籍按钮点击触发弹出淘汰书籍对话框
  • 用户管理按钮点击弹出用户管理对话框
阅读更多

PyQt5搭建图书馆管理系统(8)——借书/还书功能

借书功能实现

分析

本来借书的信息都是应该有RFID识别得到的,但是作为大作业,只能让用户输入信息了,但是书名之类的都不唯一,所以采取了与淘汰书籍一样的操作——让用户输入书号,自动匹配书本信息,然后确认借阅

借阅时,需要处理的逻辑如下:

  • 用户输入的书号存在,就匹配信息给用户
  • 不存在就点击借阅,给出警告
  • 借阅书籍数已经达到上限5本 ,给出警告
  • 不允许借阅同样的书
  • 更新Book表信息的借阅次数,剩余可借阅书数
  • User_Book表插入记录
  • 借阅成功给出提示
阅读更多

PyQt5搭建图书馆管理系统(7)——用户管理

分析

对于用户管理,本来应该包含添加用户,删除用户等操作的,但是为了实现简单,添加用户就用注册代替了,所以所谓用户管理,只是实现了用户的删除操作

为了删除用户的同时保护数据库的完整性和约束,需要进行以下操作

  • User表删除该用户
  • 将该用户所借阅的所有书籍全部归还
阅读更多