基于PyQT5的图书管理系统

用pycharm导入项目,配置好python环境,安装一下pyqt5的依赖包,用navicate连接本地Mysql数据库,手工创建数据库(名字在代码里面有),然后执行一下sql语句,最后运行程序,就可以自动出来界面

项目大概结构

管理员登录界面

import sys
import pymysql
import my_db
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap, QFont, QIcon
from PyQt5.QtWidgets import QWidget, QApplication, QLabel, QDesktopWidget, QHBoxLayout, QFormLayout, \QPushButton, QLineEdit, QMessageBox
import Manageclass LoginForm(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):"""初始化UI:return:"""self.setObjectName("loginWindow")self.setStyleSheet('#loginWindow{background-color:white}')self.setFixedSize(650, 400)self.setWindowTitle("图书管理管理系统")# 添加顶部logo图片pixmap = QPixmap("img/header.png")scared_pixmap = pixmap.scaled(650, 140)label = QLabel(self)label.setPixmap(scared_pixmap)# 绘制顶部文字lbl_logo = QLabel(self)lbl_logo.setStyleSheet("QWidget{color:white;font-weight:600;background: transparent;font-size:30px;}")lbl_logo.setFont(QFont("Microsoft YaHei"))lbl_logo.move(150, 50)lbl_logo.setAlignment(Qt.AlignCenter)lbl_logo.raise_()# 登录表单内容部分login_widget = QWidget(self)login_widget.move(0, 140)login_widget.setGeometry(0, 140, 650, 260)hbox = QHBoxLayout()# 添加左侧logologolb = QLabel(self)logopix = QPixmap("static/logo.png")logopix_scared = logopix.scaled(100, 100)logolb.setPixmap(logopix_scared)logolb.setAlignment(Qt.AlignCenter)hbox.addWidget(logolb, 1)# 添加右侧表单fmlayout = QFormLayout()lbl_workerid = QLabel("用户名")lbl_workerid.setFont(QFont("Microsoft YaHei"))self.led_workerid = QLineEdit()self.led_workerid.setFixedWidth(270)self.led_workerid.setFixedHeight(38)lbl_pwd = QLabel("密码")lbl_pwd.setFont(QFont("Microsoft YaHei"))self.led_pwd = QLineEdit()self.led_pwd.setEchoMode(QLineEdit.Password)self.led_pwd.setFixedWidth(270)self.led_pwd.setFixedHeight(38)btn_login = QPushButton("登录")btn_login.setFixedWidth(270)btn_login.setFixedHeight(40)btn_login.setFont(QFont("Microsoft YaHei"))btn_login.setObjectName("login_btn")btn_login.setStyleSheet("#login_btn{background-color:#2c7adf;color:#fff;border:none;border-radius:4px;}")btn_login.clicked.connect(self.login_check)fmlayout.addRow(lbl_workerid, self.led_workerid)fmlayout.addRow(lbl_pwd, self.led_pwd)fmlayout.addWidget(btn_login)hbox.setAlignment(Qt.AlignCenter)# 调整间距fmlayout.setHorizontalSpacing(20)fmlayout.setVerticalSpacing(12)hbox.addLayout(fmlayout, 2)login_widget.setLayout(hbox)self.center()self.show()def login_check(self):"""登录认证:return:"""global is_passedcheck = 0phone = self.led_workerid.text()password = self.led_pwd.text()conn = pymysql.connect(host=my_db.host, user=my_db.user, db=my_db.db, password=my_db.password)cursor = conn.cursor()sql = "select * from user where phone=%s and password=%s"%(phone, password)try:print(sql)cursor.execute(sql)data = cursor.fetchall()except Exception as e:conn.rollback()print('数据库操作失败', e)if data.__len__() > 0:check = 1  # 检查通过QMessageBox.about(self, '成功', '登录成功,即将跳转!')if check == 0:QMessageBox.warning(self, "错误", "用户名或密码错误", QMessageBox.Yes)else:is_passed = 1self.close()def center(self):qr = self.frameGeometry()cp = QDesktopWidget().availableGeometry().center()qr.moveCenter(cp)self.move(qr.topLeft())if __name__ == "__main__":is_passed = 0  # 判断是否登录成功,成功后为1app = QApplication(sys.argv)ex = LoginForm()ex.show()app.exec_()if (is_passed is 0):sys.exit(0)app2 = QApplication(sys.argv)Manage.start()sys.exit(app2.exec_())

操作首页

图书查询


借书

还书

添加借书证

图书入库,可以单本入库,可以多本入库




下载地址

基于PyQT5的图书管理系统(含文档,源码,安装部署简单)相关推荐

  1. [含文档+源码等]基于SSM实现的宿舍公共财产管理系统|寝室

      博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 [含文档+源码等]基于SSM实现的宿舍公共财产管理系统|寝室 演示视频 [含文 ...

  2. [含文档+源码等]微信小程序校园生活小助手+后台管理系统前后分离VUE[包运行成功]

            博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 [含文档+源码等]微信小程序校园生活小助手+后台管理系统前后分离V ...

  3. java计算机毕业设计vue图书档案管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计vue图书档案管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计vue图书档案管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...

  4. java计算机毕业设计Vue和mysql智能图书管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计Vue和mysql智能图书管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Vue和mysql智能图书管理系统MyBatis+系统+LW文档+源码+调 ...

  5. java海城同泽中学图书仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java海城同泽中学图书仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java海城同泽中学图书仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源 ...

  6. [含文档+源码等]高校科研项目管理系统[包运行成功]

       博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 [含文档+源码等]高校科研项目管理系统[包运行成功] 演示视频 视频去哪了呢 ...

  7. 新闻管理系统源码java_基于SSM开发的新闻管理系统 附带文档 源码下载

    功能概述 后端springMVC. MyBatis框架.前端使用bootstrap.angularJs ,前后端交互为纯Ajax(angularJs) + ui-router,编辑器为百度UEdito ...

  8. java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  9. java计算机毕业设计的健身房管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计的健身房管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计的健身房管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B ...

  10. java计算机毕业设计健身房管理系统演示录像2021MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计健身房管理系统演示录像2021MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计健身房管理系统演示录像2021MyBatis+系统+LW文档+源码+调试部署 ...

最新文章

  1. 【IT笔试面试题整理】不用加减乘除做加法
  2. 谷歌大脑提出对智能体进行「正向-反向」强化学习训练,加速训练过程
  3. Eclipse之实用快捷键
  4. Tomcat - 都说Tomcat违背了双亲委派机制,到底对不对?
  5. 【chainer速成】chainer图像分类从模型自定义到测试
  6. TCP的FIN、ACK、SYN、URG、PSH及攻击方式
  7. 外设驱动库开发笔记18:MS5837压力变送器驱动
  8. 统一对外的接口,支持requestBody以及表单提交的坑
  9. python 爬取实时数据django显示_python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上...
  10. 简述计算机的四代发展阶段 以及电子器件,2014计算机作业1答案
  11. 仿网易云音乐html代码,HTML作业-仿网易云音乐项目
  12. Python爬虫英语四六级网站查询准考证号
  13. 仿知乎悬浮功能按钮FloatingActionButton
  14. Protein-protein interaction site prediction through combining local and global features 文章梳理
  15. 浅谈二叉查找树、AVL树、红黑树、B树、B+树的原理及应用
  16. postman传LocalDateTime传不上的问题
  17. 输出全排列(递归非递归)
  18. Ubuntu 16.04 中文版安装基础入门教程
  19. lamda collectingAndThen的使用
  20. [招聘信息]Leader/Manager@EMC

热门文章

  1. jsp内置对象 application
  2. matlab电压闪变测量,基于IEC的电压闪变测量模块设计
  3. tbslog乱码转换_word 编码 转换器 在线转换器
  4. confluence编辑文件和文字_知识管理Confluence:常用基本操作
  5. Django下载文件名称不显示,中文乱码问题
  6. ANSYS命令流——圆柱体网格划分
  7. idea安装及配置Tomcat
  8. 用Python基础做的游戏角色管理系统
  9. 在标准宽带光纤上实现量子加密
  10. C++ 浪漫烟花表白程序520表白 情人节表白 七夕节表白 有烟花爆炸音效 包含程序所需要的背景音乐和图片素材 并且文中附带有完整代码 附带安装程序 可用于520表白 情人节表白 七夕节表白