PyQt5搭建图书馆管理系统(4)——管理员主页设计

  • PyQt5搭建图书馆管理系统(4)——管理员主页设计

    • 分析
    • 代码
    • 效果
    • 最后附上链接

分析

在管理员主页,为了完成初步的功能,即添加书本,淘汰书本,查看库存,我们需要设计以下:
- 一个添加书本的Dialog,通过一个button启用
- 一个淘汰书本的Dialog,通过一个button启用
- 一个查看库存的Table, 一开始打算用一个button启用的,后来觉得直接放主页也挺好的,所以并没有用button启用(虽然依然放在设计中)

代码

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import qdarkstyle
from addBookDialog import addBookDialog
from dropBookDialog import dropBookDialog
from BookStorageViewer import BookStorageViewer
from UserManage import UserManageclass AdminHome(QWidget):def __init__(self):super().__init__()self.setUpUI()def setUpUI(self):self.resize(900, 600)self.setWindowTitle("欢迎使用图书馆管理系统")self.layout = QHBoxLayout()self.buttonlayout = QVBoxLayout()self.setLayout(self.layout)font = QFont()font.setPixelSize(16)self.userManageButton = QPushButton("用户管理")self.addBookButton = QPushButton("添加书籍")self.dropBookButton = QPushButton("淘汰书籍")self.userManageButton.setFont(font)self.addBookButton.setFont(font)self.dropBookButton.setFont(font)self.userManageButton.setFixedWidth(100)self.userManageButton.setFixedHeight(42)self.addBookButton.setFixedWidth(100)self.addBookButton.setFixedHeight(42)self.dropBookButton.setFixedWidth(100)self.dropBookButton.setFixedHeight(42)self.buttonlayout.addWidget(self.addBookButton)self.buttonlayout.addWidget(self.dropBookButton)self.buttonlayout.addWidget(self.userManageButton)self.layout.addLayout(self.buttonlayout)self.storageView = BookStorageViewer()self.layout.addWidget(self.storageView)self.addBookButton.clicked.connect(self.addBookButtonClicked)self.dropBookButton.clicked.connect(self.dropBookButtonClicked)self.userManageButton.clicked.connect(self.userManage)def addBookButtonClicked(self):addDialog = addBookDialog(self)addDialog.add_book_success_signal.connect(self.storageView.searchButtonClicked)addDialog.show()addDialog.exec_()def dropBookButtonClicked(self):dropDialog = dropBookDialog(self)dropDialog.drop_book_successful_signal.connect(self.storageView.searchButtonClicked)dropDialog.show()dropDialog.exec_()def userManage(self):UserDelete=UserManage(self)UserDelete.show()UserDelete.exec_()if __name__ == "__main__":app = QApplication(sys.argv)app.setWindowIcon(QIcon("./images/MainWindow_1.png"))app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())mainMindow = AdminHome()mainMindow.show()sys.exit(app.exec_())

整段代码非常简短,逻辑也很清晰。
1、在setUpUI中有一个淘汰的button,一个添加的button
2、使用信号与槽机制,当点击添加按钮时,启用addBookDialog,点击淘汰按钮时,启用dropBookDialog
3、主页还有一个BookStorageViewer用于查看库存
注意:两个diolog和一个Table,我会在接下来的blog中给出

效果

虽然代码还不全,但也先看看最后效果吧~

最后附上链接

项目地址:github仓库链接

PyQt5搭建图书馆管理系统(4)——管理员主页设计相关推荐

  1. 图书馆管理系统,java课程设计,javaweb课程设计

    采用Java+前端+servlet+mysql设计的图书馆管理系统. 源代码:https://download.csdn.net/download/lk888666/11892227 可以实现注册发送 ...

  2. 车辆管理系统c语言课程设计报告,图书馆管理系统C语言课程设计报告

    湖北科技大学程序设计课程设计报告项目名称: 图书馆管理系统学生名称: 朱捷学生编号: 2014117241班级: 软工作者1411指导老师: 龚雄星日期: 2016.2.251项目描述设计图书管理系统 ...

  3. 试卷管理表mysql_图书馆管理系统-试卷表 - 数据库设计 - 数据库表结构 - 果创云...

    -- 数据库大全:图书馆管理系统-试卷表 -- 来源:YesApi.cn CREATE TABLE `yesapi_t_paper` ( `id` bigint(20) unsigned NOT NU ...

  4. 图书馆管理系统——后台静态界面设计(类型增删改查)

    LayUi:介绍 优点: layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用. 入门技术 点击查看,Lay ...

  5. 高校图书馆管理系统的设计与实现

     其他项目,点击作者主页   目录 1 系统简介 2 系统相关技术 2.1spring+springMVC+hibernate框架 2.2MySQL数据库 2.3bootstrap前端框架 3 需求分 ...

  6. php图书馆管理系统的设计与实现毕业设计-附源码

    摘 要 大数据时代下,数据呈爆炸式地增长.为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势.在图书馆的要求下,开发一款整体式结构的图书馆管理 ...

  7. 大一java图书馆管理系统课程设计

    大一java图书馆管理系统课程设计 代码仅供参考!!!仅供参考!!! 效果图如下 管理员用户名:123  密码123 密码错误的话进入项目resources文件夹有个LMS数据库,使用数据库客户端打开 ...

  8. c语言课程设计(图书馆管理系统)

    大一c语言课程设计:图书馆管理系统. 图书管理系统,功能齐全拿来就能用 1.主界面 代码段 void main() { int n;Sleep(300);loop1:tongji(); printf( ...

  9. 图书馆管理系统的数据库设计

    图书馆管理系统的数据库设计 --学生表 CREATE TABLE stu_info( --学号 stu_num varchar(10) primary key, --姓名 stu_name varch ...

最新文章

  1. 庆祝深圳.net俱乐部成立
  2. Java服务部署规范(内部使用)
  3. mysql 导入文件夹_MySQL-导入与导出
  4. html div父集子集,抛砖引玉css系列---根据父元素包含的子元素个数,实现不同的样式...
  5. 使用jquery获取url及url参数的方法及定义JQuery扩展方法
  6. 数值分析 python_数值分析python代码
  7. C/C++线程与多线程工作笔记003---C++指针引用和解引用
  8. STL应用--SORT自定义排序
  9. 枚举与常量需要注意的一个问题
  10. 论文笔记_S2D.48_2017-IEEE RAL_单视图和多视图深度融合
  11. Web渗透测试-Xss跨站脚本攻击(Cross Site Scripting)
  12. android手机恢复出厂设置,手机强制恢复出厂设置方法
  13. word插入公式及编号右对齐
  14. 计算机教室 设备负荷,设备建设标准和规范教室线缆布线.ppt
  15. linux 宽带连接
  16. 胡须清洗的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. matlab平摆线曲率参数方程,参数方程中曲线欣赏—平摆线解读.ppt
  18. Matplotlib可视化菜鸟教程
  19. 小程序实现h5页面的微信支付
  20. LeetCode刷题 | 唯一摩尔斯密码词

热门文章

  1. Java super关键字详解
  2. 双目摄像头——活体检测
  3. 基于人脑神经元与神经信息交流机制的类脑计算模型研究
  4. 如何运行vue项目(详细步骤)
  5. 70行代码实现同花顺,通达信,麦语言大部分技术指标公式
  6. Linux下使用Curl调用Java的WebService接口
  7. 数据库_mysql数据库引擎_数据库索引
  8. NSGA-II算法阅读笔记
  9. 云服务器可以用来做什么?
  10. PCB布线这几种走线方式,你会吗?