手把手教你开发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 = Nonetry: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.rowcountexcept Exception as e:print(e)con.rollback()return 0finally:dbUtil.closeCon(con)

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

    @staticmethoddef my_constructor(id, bookTypeName, bookTypeDesc):obj = BookType(bookTypeName, bookTypeDesc)obj.id = idreturn obj

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

    def update(self):"""更新表单:return:"""id = self.idInput.text()if id.strip() == "":QMessageBox.information(None, '系统提示', '请选中您需要编辑的那行数据!')returnbookTypeName = self.bookTypeNameInput.text()if bookTypeName.strip() == "":QMessageBox.information(None, '系统提示', '请输入图书类别名称!')returnbookTypeDesc = 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)

运行测试:

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

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

相关文章

怎么加密电脑磁盘?磁盘加密软件哪个好?

磁盘是电脑储存数据的基础工具,可以存放大量数据。为了避免数据泄露,可以使用专业的磁盘加密软件加密保护电脑磁盘。那么,磁盘加密软件哪个好呢?下面我们就来了解一下。 磁盘加锁专家 磁盘加锁专家是一款专业的磁盘加锁软件&…

Anaconda超详细安装教程(Windows环境下)

每个人电脑不同,特别是配置环境变量,不要直接复制粘贴。 (本人技术小白一个,如有错误,欢迎各位大神指正。) 说明:其实要是装Anaconda的话,就不用再单独装Python了。但是吧&#xf…

UsernamePasswordAutheticationFilter源码解读和实践

UsernamePasswordAuthenticationFilter的目录 一、概述(重点)二、标红小步骤解读2.1 步骤1(标红1)2.1.1 AbstractAuthenticationProcessingFilter2.1.2 UsernamePasswordAuthenticationFilter 2.3 步骤2 和 步骤3(标红…

【Linux系统 02】Shell脚本

目录 一、Shell概述 二、输入输出 三、分支控制 1. 表达式 2. if 分支 3. case 分支 四、循环控制 1. for 循环 2. while 循环 3. select 循环 五、函数 一、Shell概述 Shell是Linux系统连接用户和操作系统的外壳程序,将用户的输入和请求选择性传递给操…

13 冒泡排序和快速排序

目录 冒泡排序 1.1 基本思想 1.2 特性快速排序 2.1 基本思想  2.1.1 hoare版  2.1.2 挖坑版  2.1.3 前后下标版  2.1.4 循环 2.2 特性 2.3 优化  2.3.1 key值优化 1. 冒泡排序 1.1 基本思想 数据中相邻的两数不断比较,找出最大的数进行交换,不断…

《合成孔径雷达成像算法与实现》Figure6.9

clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; % 距离过采样率 Nrg 320; % 距离线采样数 距离向…

不到1s生成mesh! 高效文生3D框架AToM

论文题目: AToM: Amortized Text-to-Mesh using 2D Diffusion 论文链接: https://arxiv.org/abs/2402.00867 项目主页: AToM: Amortized Text-to-Mesh using 2D Diffusion 随着AIGC的爆火,生成式人工智能在3D领域也实现了非常显著…

【多模态大模型】BLIP-2:低计算视觉-语言预训练大模型

BLIP-2 BLIP 对比 BLIP-2BLIPBLIP-2如何在视觉和语言模型之间实现有效的信息交互,同时降低预训练的计算成本?视觉语言表示学习视觉到语言的生成学习模型架构设计 总结主要问题: 如何在计算效率和资源有限的情况下,有效地结合冻结的图像编码器…

【C++】类和对象(3)

继续学习类和对象的最后一部分知识,主要有初始化列表、static成员、友元、内部类、匿名对象等。 目录 再谈构造函数 构造函数体赋值 初始化列表 explicit关键字 static成员 概念 特性 友元 友元函数 友元类 内部类 匿名对象 拷贝对象时的一些编译器优化…

Windows 10 配置 FFmpeg 使用环境

Windows 10 配置 FFmpeg 使用环境 1.下载FFmpeg 的windows办2. 配置环境变量:3.查看是否配置正确 cmd 或者 PowerShell 执行以下命令 1.下载FFmpeg 的windows办 GitHub 地址 :https://github.com/BtbN/FFmpeg-Builds/releases 解压后得到如图: 2. 配置环境变量: 复制路径:…

面试官都爱看的作品集,你做对了吗?

经常有朋友在群里问作品集的相关问题:设计师不知道从哪里开始作品集,觉得自己拿不到作品,作品集没有亮点,真的不知道怎么改进,作品集投递后没有回应,很受打击。 针对这些问题,我们将向您展示如何调整和改进…

谷歌支付3.5亿美元就多年前的数据泄露达成和解

据The Record网站消息,谷歌将支付 3.5 亿美元来和解一场旷日持久的集体诉讼,该诉讼针对的是其已不复存在的社交平台Google Plus产生的数据泄露事故。 这一诉讼最早可以追溯到 2018 年 10 月,当时《华尔街日报》曾报道称,谷歌发现G…