"""
编写一个图书管理系统,要求的内容:
--存储图书信息、采购和淘汰情况、租借情况
-实现图书采购、淘汰、租借功能
--实现图书信息、采购和淘汰、库存和租借情况查询
--实现图书信息、库存、淘汰、租借情况等统计
管理员和学生两个方面的内容
-首先需要登录和注册页面
-对于图书管理员,在管理员的管理页面上,要实现图书的采购、淘汰、库存,租借情况的查询和统计
-对于学生,要实现图书的借阅、归还、租借情况查询
"""
# 图书数据库
"""
User表 用户
Book表 图书
User_Book表 用户借还图书
BuyOrDrop表 添加或淘汰
"""
直接上代码
这里是注册页面设计!
import sys
from PyQt5.QtWidgets import *
import qdarkstyle # pip install qdarkstyle
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtSql import *
import hashlib
class SignUpWidet(QWidget):
student_signup_signal = pyqtSignal(str)
def __init__(self):
super().__init__()
self.setUpUI()
def setUpUI(self):
self.resize(900, 600)
self.setWindowTitle("欢迎登录图书管理系统!")
self.signUPLabel = QLabel("注 册")
# QLabel居中
self.signUPLabel.setAlignment(Qt.AlignCenter)
self.signUPLabel.setFixedHeight(100)
font = QFont()
font.setPixelSize(36)
lineEditFont = QFont()
lineEditFont.setPixelSize(16)
self.signUPLabel.setFont(font)
self.layout = QVBoxLayout()
self.layout.addWidget(self.signUPLabel, Qt.AlignCenter)
self.setLayout(self.layout)
# 表单,包括学号,姓名,密码,确认密码
self.formlayout = QFormLayout()
font.setPixelSize(18)
# rows1
self.studentIDLable = QLabel("学 号:")
self.studentIDLable.setFont(font)
self.studentIDLineEdit = QLineEdit()
self.studentIDLineEdit.setFixedWidth(180)
self.studentIDLineEdit.setFixedHeight(32)
self.studentIDLineEdit.setFont(lineEditFont)
self.studentIDLineEdit.setMaxLength(10)
self.formlayout.addRow(self.studentIDLable, self.studentIDLineEdit)
# rows2
self.studentNameLable = QLabel("姓 名:")
self.studentNameLable.setFont(font)
self.studentNameLineEdit = QLineEdit()
self.studentNameLineEdit.setFixedWidth(180)
self.studentNameLineEdit.setFixedHeight(32)
self.studentNameLineEdit.setFont(lineEditFont)
self.studentNameLineEdit.setMaxLength(10)
self.formlayout.addRow(self.studentNameLable, self.studentNameLineEdit)
# r