手把手教你开发Python桌面应用-PyQt6图书管理系统-图书类别信息修改实现

锋哥原创的PyQt6图书管理系统视频教程:

PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频,包括:PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~、第2讲 登录功能UI设计实现、第3讲 数据库操作工具包dbUtil.py封装等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV18t4y1R7Qp/首先bookTypeDao.py ,写一个update方法:

def update(bookType: BookType):
    """
    图书类别修改
    :param bookType: 图书类别实体
    :return: 返回执行的记录条数
    """
    con = None
    try:
        con = dbUtil.getCon()
        cursor = con.cursor()
        cursor.execute(
            f"update t_booktype set bookTypeName='{bookType.bookTypeName}',bookTypeDesc='{bookType.bookTypeDesc}' where id={bookType.id}")
        return cursor.rowcount
    except Exception as e:
        print(e)
        con.rollback()
        return 0
    finally:
        dbUtil.closeCon(con)

我们实现修改的时候,传递到update方法的bookType对象,这个对象里,是包括所有属性的。所以我们BookType类里,需要写一个重载的构造方法,在Python里面,可以通过@staticmethod,静态方法,返回一个实例化过的对象。

    @staticmethod
    def my_constructor(id, bookTypeName, bookTypeDesc):
        obj = BookType(bookTypeName, bookTypeDesc)
        obj.id = id
        return obj

然后我们bookTypeManage.py的Ui_Form类里实现下槽函数update

    def update(self):
        """
        更新表单
        :return:
        """
        id = self.idInput.text()
        if id.strip() == "":
            QMessageBox.information(None, '系统提示', '请选中您需要编辑的那行数据!')
            return
        bookTypeName = self.bookTypeNameInput.text()
        if bookTypeName.strip() == "":
            QMessageBox.information(None, '系统提示', '请输入图书类别名称!')
            return
        bookTypeDesc = self.bookTypeDescInput.toPlainText()
        bookType = BookType.my_constructor(id, bookTypeName, bookTypeDesc)
        if bookTypeDao.update(bookType) > 0:
            QMessageBox.information(None, '系统提示', '修改成功!')
            self.initTable()
        else:
            QMessageBox.warning(None, '系统提示', '修改失败!')

最后再加下按钮点击事件:

# 修改按钮点击事件
        self.modifyBtn.clicked.connect(self.update)

运行测试:

手把手教你开发Python桌面应用-PyQt6图书管理系统-图书类别信息修改实现_第1张图片

手把手教你开发Python桌面应用-PyQt6图书管理系统-图书类别信息修改实现_第2张图片

你可能感兴趣的:(Python,python,pyqt,pyqt6,pyqt开发,pyqt实战)