赞
踩
锋哥原创的PyQt6图书管理系统视频教程:
PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频,包括:PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~、第2讲 登录功能UI设计实现、第3讲 数据库操作工具包dbUtil.py封装等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV18t4y1R7Qp/我们先建下 图书表和图书列表表,因为这两个表是主外键关联的,存在多对一的关系,所以我们一起建了。
-
- CREATE TABLE `t_book` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `bookName` varchar(20) DEFAULT NULL,
- `author` varchar(20) DEFAULT NULL,
- `sex` varchar(10) DEFAULT NULL,
- `price` float DEFAULT NULL,
- `bookTypeId` int(11) DEFAULT NULL,
- `bookDesc` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `bookTypeId` (`bookTypeId`),
- CONSTRAINT `t_book_ibfk_1` FOREIGN KEY (`bookTypeId`) REFERENCES `t_booktype` (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-
- /*Data for the table `t_book` */
-
- insert into `t_book`(`id`,`bookName`,`author`,`sex`,`price`,`bookTypeId`,`bookDesc`) values (1,'java编程思想2','xx','男',100,1,''),(2,'python编程','哈哈','女',18,1,'111');
-
- /*Table structure for table `t_booktype` */
-
- DROP TABLE IF EXISTS `t_booktype`;
-
- CREATE TABLE `t_booktype` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `bookTypeName` varchar(20) DEFAULT NULL,
- `bookTypeDesc` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-
- /*Data for the table `t_booktype` */
-
- insert into `t_booktype`(`id`,`bookTypeName`,`bookTypeDesc`) values (1,'计算机类2','计算机相关图书2'),(5,'文学类','。。。');
再新建下图书类别实体,entity下新建BookTypeModel,里面新建BookType类:
- """
- 图书类别实体类
- 作者 : 小锋老师
- 官网 : www.python222.com
- """
-
-
- # 图书类别类
- class BookType:
- # 编号 主键ID
- id = None
- # 图书类别名称
- bookTypeName = None
- # 图书类别描述
- bookTypeDesc = None
-
- def __init__(self, bookTypeName, bookTypeDesc):
- self.bookTypeName = bookTypeName
- self.bookTypeDesc = bookTypeDesc
首先我们实现重置功能:
定义reset方法:
- def reset(self):
- """
- 重置
- :return:
- """
- self.bookTypeNameInput.setText("")
- self.bookTypeDescInput.setPlainText("")
重置按钮绑定下点击事件,关联reset槽函数
- # 重置按钮点击事件
- self.resetBtn.clicked.connect(self.reset)
再实现下添加功能;
dao下新建bookTypeDao.py,里面新建add方法:
- """
- 图书类别数据访问对象
- 作者 : 小锋老师
- 官网 : www.python222.com
- """
- from entity.BookTypeModel import BookType
- from util import dbUtil
-
-
- def add(bookType: BookType):
- """
- 图书类别添加
- :param bookType: 图书类别实体
- :return: 返回执行的记录条数
- """
- con = None
- try:
- con = dbUtil.getCon()
- cursor = con.cursor()
- cursor.execute(f"insert into t_booktype values(null,'{bookType.bookTypeName}','{bookType.bookTypeDesc}')")
- return cursor.rowcount
- except Exception as e:
- print(e)
- con.rollback()
- return 0
- finally:
- dbUtil.closeCon(con)
bookTypeAdd.py的Ui_Form类里,新建下add方法:
- def add(self):
- """
- 添加图书类别
- :return:
- """
- bookTypeName = self.bookTypeNameInput.text()
- bookTypeDesc = self.bookTypeDescInput.toPlainText()
- if bookTypeName.strip() == "":
- QMessageBox.warning(None, '系统提示', '图书类别名称不能为空')
- else:
- bookType = BookType(bookTypeName, bookTypeDesc)
- if bookTypeDao.add(bookType) > 0:
- QMessageBox.information(None, '系统提示', '添加成功')
- self.reset()
- else:
- QMessageBox.warning(None, '系统提示', '添加失败')
添加按钮绑定add事件:
- # 添加按钮点击事件
- self.addBtn.clicked.connect(self.add)
最后是测试,OK;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。