使用python3,PyQt5,Sqlite3数据库搭建
数据库版本为MySQL:Python 图书馆管理系统(MySQL数据库) 有GUI界面 【含Python源码 MX_032期】-CSDN博客
主要功能:
- 用户注册、登录、修改密码、用户管理
- 存储图书信息、采购增加和淘汰删除功能、租借功能
- 实现图书采购、淘汰、租借功能。
- 实现查询图书信息、采购和淘汰、库存、和租借情况
- 实现统计图书的采购、库存、淘汰、租借情况
主要界面(完整代码在最后):
部分代码
class Main(QMainWindow):
def __init__(self, parent=None):
super(Main, self).__init__(parent)
self.layout = QHBoxLayout()
self.widget = SignInWidget()
self.resize(900, 600)
self.setWindowTitle("欢迎登陆图书馆管理系统")
self.setCentralWidget(self.widget)
bar = self.menuBar()
self.Menu = bar.addMenu("菜单栏")
self.signUpAction = QAction("注册", self)
self.changePasswordAction =QAction("修改密码",self)
self.signInAction = QAction("登录", self)
self.quitSignInAction = QAction("退出登录", self)
self.quitAction = QAction("退出", self)
self.Menu.addAction(self.signUpAction)
self.Menu.addAction(self.changePasswordAction)
self.Menu.addAction(self.signInAction)
self.Menu.addAction(self.quitSignInAction)
self.Menu.addAction(self.quitAction)
self.signUpAction.setEnabled(True)
self.changePasswordAction.setEnabled(True)
self.signInAction.setEnabled(False)
self.quitSignInAction.setEnabled(False)
self.widget.is_admin_signal.connect(self.adminSignIn)
self.widget.is_student_signal[str].connect(self.studentSignIn)
self.Menu.triggered[QAction].connect(self.menuTriggered)
def menuTriggered(self, q):
if(q.text()=="修改密码"):
changePsdDialog=changePasswordDialog(self)
changePsdDialog.show()
changePsdDialog.exec_()
if (q.text() == "注册"):
sip.delete(self.widget)
self.widget = SignUpWidget()
self.setCentralWidget(self.widget)
self.widget.student_signup_signal[str].connect(self.studentSignIn)
self.signUpAction.setEnabled(False)
self.changePasswordAction.setEnabled(True)
self.signInAction.setEnabled(True)
self.quitSignInAction.setEnabled(False)
if (q.text() == "退出登录"):
sip.delete(self.widget)
self.widget = SignInWidget()
self.setCentralWidget(self.widget)
self.widget.is_admin_signal.connect(self.adminSignIn)
self.widget.is_student_signal[str].connect(self.studentSignIn)
self.signUpAction.setEnabled(True)
self.changePasswordAction.setEnabled(True)
self.signInAction.setEnabled(False)
self.quitSignInAction.setEnabled(False)
if (q.text() == "登录"):
sip.delete(self.widget)
self.widget = SignInWidget()
self.setCentralWidget(self.widget)
self.widget.is_admin_signal.connect(self.adminSignIn)
self.widget.is_student_signal[str].connect(self.studentSignIn)
self.signUpAction.setEnabled(True)
self.changePasswordAction.setEnabled(True)
self.signInAction.setEnabled(False)
self.quitSignInAction.setEnabled(False)
if (q.text() == "退出"):
qApp = QApplication.instance()
qApp.quit()
return
完整代码:Python 图书馆管理系统 有GUI界面