Python 图书馆管理系统 有GUI界面 【含Python源码 MX_031期】

使用python3,PyQt5,Sqlite3数据库搭建

主要功能:

  • 用户注册、登录、修改密码、用户管理
  • 存储图书信息、采购增加和淘汰删除功能、租借功能
  • 实现图书采购、淘汰、租借功能。
  • 实现查询图书信息、采购和淘汰、库存、和租借情况
  • 实现统计图书的采购、库存、淘汰、租借情况

主要界面(完整代码在最后):

 部分代码

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界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发布 jar 包到 maven 中央仓库

目前开发基本都是以maven或者gradle的方式,直接引入依赖包即可,那么该咋那么发布我们自己的jar包到maven仓库,让别人使用呢?本文适用于2024.3之后的步骤 文章目录 账号准备第一步,注册账号第二步,新建命名空间第三步,验证命名空间第四步,创建 push 的账号和密码点击右…

使用docker安装mysql详细教程

一、Docker安装Mysql 1、启动Docker 启动:sudo systemctl start dockerservice docker start 停止:systemctl stop docker 重启:systemctl restart docker 2、查询mysql docker search mysql 3、安装mysql 1.默认拉取最新版本mysql dock…

JavaScript 基础 - 对象

对象 对象是一种无序的数据集合&#xff0c;可以详细的描述描述某个事物。 注意数组是有序的数据集合。它由属性和方法两部分构成。 语法 声明一个对象类型的变量与之前声明一个数值或字符串类型的变量没有本质上的区别。 <script>let 对象名 {属性名&#xff1a;属性值…

accelerate笔记:实验跟踪

Accelerate支持七种集成的跟踪器&#xff1a; TensorBoardWandBCometMLAimMLFlowClearMLDVCLive要使用这些跟踪器&#xff0c;可以通过在 Accelerator 类的 log_with 参数中传入所选类型来实现 from accelerate import Accelerator from accelerate.utils import LoggerTypeac…

高通开发系列 - ubuntu中的docker安装debian镜像

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 概述当前状态Ubuntu中安装dockerDebian镜像Debian容器中操作更改Debian源安装应用程序

手机号脱敏

手机号脱敏 // 手机号脱敏subTelephone(telphone) {let result telphone.substr(0, 4) **** telphone.substr(8);return result;},

lua vm 四: 表达式

lua 的表达式有一些特殊情况。 1. 被括号包起来的表达式永远被当成一个值[1] (f(x,y,z))&#xff0c;即使 f 返回多个值&#xff0c;这个表达式永远是单个值。 2. 多返回值的调整[1] 函数调用和变长参数表达式都会产生多个值&#xff0c;这些表达式被称为多返回值表达式&…

每日复盘-20240603

20240603 六日涨幅最大: ------1--------300637--------- 扬帆新材 五日涨幅最大: ------1--------300637--------- 扬帆新材 四日涨幅最大: ------1--------301306--------- 西测测试 三日涨幅最大: ------1--------301306--------- 西测测试 二日涨幅最大: ------1--------30…

28 _ WebComponent:像搭积木一样构建Web应用

在上一篇文章中我们从技术演变的角度介绍了PWA&#xff0c;这是一套集合了多种技术的理念&#xff0c;让浏览器渐进式适应设备端。今天我们要站在开发者和项目角度来聊聊WebComponent&#xff0c;同样它也是一套技术的组合&#xff0c;能提供给开发者组件化开发的能力。 那什么…

【TB作品】MSP430F5529单片机,温控小风扇,DS18B20温度读取,PWM风扇

功能 /* OLED SCL ----------P3.0 SDA ----------P3.1 VCC ----------3.3V GND ----------GND 风扇 DATA ----------P2.4 VCC ----------3.3V GND ----------GND DS18B20 DATA ----------P1.5 VCC ----------3.3V GND ----------GND 功能&#xff1a; S1 改变占…

python 各种画图(2D 3D)-1 _matplotlib 官方网站笔记

背景 需利用python进行3D可视化处理&#xff0c;用于分析python得到的数据的正确性。 知识学习 python高阶3D绘图---pyvista模块&#xff0c;mayavi模块&#xff0c;pyopengl模块&#xff0c;MoviePy模块基础使用-CSDN博客 python用于3D绘图的模块比较多&#xff0c;pyvist…

目标2亿欧元!四年两次募资,全球最早专注于量子投资的Quantonation再次加码

Quantonation Ventures 是全球第一家专注于深度物理和量子技术的早期风险投资公司。4月10日&#xff0c;该公司宣布其第二只专门用于量子技术的早期基金 Quantonation II 首次募资完成&#xff0c;目前已募资 7000 万欧元&#xff0c;而目标为 2 亿欧元。 首次募资就募到了将…

试比较GD32E230系列与L233/235芯片在IIC上使用温度传感器SHT40的异同

不说废话&#xff0c;上代码&#xff0c;不同之处直接用宏 展开 1. 首先是i2c 时钟配置 函数有些出入 void sensirion_i2c_attribute_config(){#ifdef GD32E230/* I2C clock configure */i2c_clock_config(I2C1, 100000, I2C_DTCY_2);/* I2C address configure */i2c_mode_a…

《QT从基础到进阶·四十一》无法解析的外部符号及生成事件加入QT打包命令报错问题

其他无法解析的外部符号&#xff1a; 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl ML_AddinManger::metaObject(void)const "… 无法解析的外部符号 “public: virtual void * __cdecl ML_AddinManger::qt_metacast(char const *)” (?…

toefl listening_托福听力

x.1 课程介绍 x.1.1 课程介绍 考试介绍 注意事项如下&#xff0c; x.1.2 分数设定和方法论 x.2.1 细节题解法 x.2.2 对话主旨题解法 听力对话不要扣分&#xff1b; 内容主旨题&#xff0c;以what开头&#xff1b; 目的主旨题&#xff0c;以why开头&#xff1b; 目的主旨题…

SpringCloud中注册中心Nacos的下载与使用步骤

1.前言 Nacos&#xff08;Dynamic Naming and Configuration Service&#xff09;是阿里巴巴开源的一款服务发现和配置管理工具。它可以帮助用户自动化地进行服务注册、发现和配置管理&#xff0c;是面向微服务架构的一个重要组成部分。 2.下载 链接&#xff1a;https://pan.b…

奶茶店、女装店、餐饮店是高危创业方向,原因如下:

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 现在的俊男靓女们&#xff0c;心中都有一个执念&#xff1a; (1)想证明自己了&#xff0c;开个奶茶去…… (2)想多赚点钱了&#xff0c;加盟餐饮店去…… (3)工作不顺心了&#xff0c;搞个女装店去…… 但凡抱着…

建设一个专门的西班牙语网站是非常必要的

对于做西班牙语市场的外贸公司来说&#xff0c;建设一个专门的西班牙语网站是非常必要的。这不仅可以帮助企业更有效地接触和服务于西班牙语市场&#xff0c;还可以提高其在全球市场中的竞争力和品牌影响力。 市场需求和潜力&#xff1a;西班牙语是全球使用人数众多的语言之一…

回溯--字母迷宫

1.题目描述 字母迷宫游戏初始界面记作 m x n 二维字符串数组 grid&#xff0c;请判断玩家是否能在 grid 中找到目标单词 target。 注意&#xff1a;寻找单词时 必须 按照字母顺序&#xff0c;通过水平或垂直方向相邻的单元格内的字母构成&#xff0c;同时&#xff0c;同一个单…

Python requests模块 multipart/form-data类型文件上传

请求报文 HTTP方法 POST url url Cookie JSESSIONID87D45563C23AB48FAA67326CDAAC5D10 DATA ------WebKitFormBoundarytqaIYaLC4rpPRnpl Content-Disposition: form-data; name"isNew" 1 ------WebKitFormBoundarytqaIYaLC4rpPRnpl Content-Disposition: f…