¶管理员主页信号与槽
¶窗口内信号与槽
在管理员主页代码的setUpUI
中,可以看到如下代码
1 | self.addBookButton.clicked.connect(self.addBookButtonClicked) |
这是Qt自带的信号与槽机制,也就是QPushButton
点击触发,分别是
- 添加书籍按钮点击触发弹出添加书籍对话框
- 淘汰书籍按钮点击触发弹出淘汰书籍对话框
- 用户管理按钮点击弹出用户管理对话框
在管理员主页代码的setUpUI
中,可以看到如下代码
1 | self.addBookButton.clicked.connect(self.addBookButtonClicked) |
这是Qt自带的信号与槽机制,也就是QPushButton
点击触发,分别是
在学生主页,主要实现以下功能:
1、借阅书籍
2、归还书籍
3、借阅状态查询
4、书籍库存查询
使用四个QPushButton
,分别用于弹出借阅书籍对话框、归还书籍对话框 、切换到借阅状态查询、切换到书籍库存查询
这个可以说是实现的最简单的一个功能了,只需要结合一下QTableView
和QSqlQueryModel
对User_Book
表和Book
表做一个联查即可,直接贴上代码如下
本来借书的信息都是应该有RFID识别得到的,但是作为大作业,只能让用户输入信息了,但是书名之类的都不唯一,所以采取了与淘汰书籍一样的操作——让用户输入书号,自动匹配书本信息,然后确认借阅
借阅时,需要处理的逻辑如下:
Book
表信息的借阅次数,剩余可借阅书数User_Book
表插入记录对于用户管理,本来应该包含添加用户,删除用户等操作的,但是为了实现简单,添加用户就用注册代替了,所以所谓用户管理,只是实现了用户的删除操作
为了删除用户的同时保护数据库的完整性和约束,需要进行以下操作
User
表删除该用户从数据库的设计可以看到,在这里我们只需要使用Book表的数据,就可以实现书籍信息的查询了
在这个功能的实现上,可以说花了我比较大的心思了,主要实现了这些功能:
在图书管管理系统主页上,我们有添加和淘汰的功能 ,通过按钮弹出对话框进行添加和淘汰书籍,这里我们就来完成一下这两个功能。
在管理员主页,为了完成初步的功能,即添加书本,淘汰书本,查看库存,我们需要设计以下: