手把手教你开发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/首先搜索模块,图书类别下拉框初始化下

定义initBookTypeListComboBox方法

    def initBookTypeListComboBox(self):"""初始化下拉框数据:return:"""bookTypeList = bookTypeDao.list("")  # 获取所有图书类别信息self.s_bookTypeComboBox.addItem("请选择图书类别...", -1)for bookType in bookTypeList:self.s_bookTypeComboBox.addItem(bookType[1], bookType[0])

构造方法里调用

bookDao里定义list方法:

def list(s_book: Book):"""根据条件查询图书信息:return:返回查询的图书信息列表"""con = Nonetry:con = dbUtil.getCon()cursor = con.cursor()sql = "SELECT t.id AS id,bookName,author,bookTypeName,sex,price,bookDesc FROM t_book AS t ,t_booktype AS tk WHERE t.`bookTypeId`=tk.`id`"if s_book != None:if s_book.bookName.strip() != '':sql += " and t.bookName like '%" + s_book.bookName + "%'"if s_book.author.strip() != '':sql += " and t.author like '%" + s_book.author + "%'"if s_book.bookTypeId != -1:sql += " and t.bookTypeId = " + str(s_book.bookTypeId)print(sql)cursor.execute(sql)return cursor.fetchall()except Exception as e:print(e)con.rollback()return Nonefinally:dbUtil.closeCon(con)

bookManage.py里再定义initTable方法

    def initTable(self):"""根据条件初始化数据表格:return:"""bookName = self.s_nameInput.text()author = self.s_authorInput.text()bookTypeId = self.s_bookTypeComboBox.currentData()s_book = Book(bookName, author, bookTypeId)result = bookDao.list(s_book)row = 0if result:row = len(result)self.bookTable.setColumnCount(7)self.bookTable.setRowCount(row)self.bookTable.verticalHeader().setVisible(False)  # 隐藏垂直标题 序号self.bookTable.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)  # 禁止编辑单元格self.bookTable.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)self.bookTable.setHorizontalHeaderLabels(['编号', '图书名称', '图书作者', '图书类别', '作者性别', '图书价格', '图书描述'])self.bookTable.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch)  # 列头自适应self.bookTable.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)  # 设置选择行为,以行为单位for i in range(row):for j in range(7):data = QTableWidgetItem(str(result[i][j]))self.bookTable.setItem(i, j, data)

构造方法里调用

搜索按钮绑定事件

        # 搜索按钮点击事件self.s_searchBtn.clicked.connect(self.initTable)

测试:

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

C++构造和折构函数详解,超详细!

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 大家龙年好呀,今天我们来学习一下C构造函数和折构函数。 文章目录 1.构造函数 1.1构造函数的概念 1.2构造函数的思想 1.3构造函数的特点 1.4构造函数的作用 1.5构造函数的操作 1.6构造函数…

k8s -ingress

概念 Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由,ingress能代理集群为内部的网络,将集群外部的HTTP/HTTPS网络请求转发至不同的service,其本质就是创建一个NodePort类型的svc,和一个nginx 组成 k8s中的ingress 其实是指…

c语言:全局变量与局部变量重名

结论&#xff1a; 作用域小的覆盖作用域大的&#xff0c;顺带一提&#xff0c;在C中&#xff0c;调用全局的变量前面要加:: #include <stdio.h> using namespace std;int a, b; void fun() {a 100;b 200; }int main() {int a 5, b 7;fun();printf("%d %d\n&quo…

Linux操作系统基础(十):Linux系统信息

文章目录 Linux系统信息 一、时间和日期 1、date时间 2、cal日历 二、磁盘、内存信息 Linux系统信息 本篇文章内容主要是为了方便通过远程终端维护服务器时, 查看服务器上当前 系统日期和时间 / 磁盘空间占用情况 /程序执行情况。 学习终端命令都是查询命令, 通过这些命…

假期day7

设计qq界面 代码 ui->lab1->setPixmap(QPixmap(":/pictrue/denglu.webp"));ui->lab1->setScaledContents(true);ui->lab2->setPixmap(QPixmap(":/pictrue/passwd.jpg"));ui->lab2->setScaledContents(true);ui->lab3->setP…

Python API的使用简述

文章目录 Web APIGit 和 GitHub使用 API 调用请求数据安装 requests处理响应 API处理响应字典监视API的速率限制使用 Pygal 可视化仓库改进Pygal图表添加自定义工具提示 本篇文章&#xff1a;我们叙述如何编写一个独立的程序&#xff0c;并对其获取的数据进行可视化。这个程序将…

《统计学简易速速上手小册》第4章:假设检验(2024 最新版)

文章目录 4.1 假设检验的基本概念4.1.1 基础知识4.1.2 主要案例&#xff1a;新饮料偏好测试4.1.3 拓展案例 1&#xff1a;教育方法的效果比较4.1.4 拓展案例 2&#xff1a;工作满意度调查 4.2 常见的假设检验4.2.1 基础知识4.2.2 主要案例&#xff1a;产品包装改进的效果评估4.…

考研数据结构笔记(7)

循环链表、静态链表、顺序表和链表的比较 循环链表循环单链表循环双链表 静态链表什么是静态链表如何定义一个静态链表&#xff1f;简述基本操作的实现 顺序表和链表的比较逻辑结构物理结构/存储结构数据的运算/基本运算创建销毁增加、删除查找 循环链表 循环单链表 循环双链表…

前端JavaScript篇之ajax、axios、fetch的区别

目录 ajax、axios、fetch的区别AjaxAxiosFetch总结注意 ajax、axios、fetch的区别 在Web开发中&#xff0c;ajax、axios和fetch都是用于与服务器进行异步通信的技术&#xff0c;但它们在实现方式和功能上有所不同。 Ajax 定义与特点&#xff1a;Ajax是一种在无需重新加载整个…

2023年全国职业院校技能大赛软件测试赛题第3套

2023年全国职业院校技能大赛 软件测试赛题第3套 赛项名称&#xff1a; 软件测试 英文名称&#xff1a; Software Testing 赛项编号&#xff1a; GZ034 归属产业&#xff1a; 电子与信息大类 …

第2集《佛说四十二章经》

请大家打开讲议第二面&#xff0c;二、经文大意。 在正式讲解经文之前&#xff0c;先说明本经的修学纲要。本经的经文大意共分三段&#xff0c;第一段是总标&#xff0c;第二段是别明&#xff0c;第三段是结劝。总标又分两小段&#xff0c;先看第一小段。 是经顿渐兼收。首唱…

抛弃Spring Cloud Gateway,得物 使用Netty架构100Wqps网关

说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、滴滴的面试资格。 最近&#xff0c;尼恩指导一个小伙伴简历&#xff0c;写了一个《高并发网关项目》&#xff0c;此项目帮这个小伙拿到 字节/阿里/…

洛谷p3435 OKR-Periods of Words

题目链接 反思 我们之前用 k m p kmp kmp都是用到前缀字串的最长匹配长度&#xff0c;本题则需要利用 p m t pmt pmt数组找到最短匹配长度 思路 题目中匹配前缀的意思是&#xff0c;在字符串 a a a的前缀中&#xff0c;某个前缀自身重复两遍后能把 a a a包括进来 如图&…

【Linux】make和Makefile

目录 make和Makefile make和Makefile 我们使用vim编辑器的时候&#xff0c;在一个文件里写完代码要进行编译&#xff0c;要自己输入编译的指令。有没有一种可以进行自动化编译的方法——makefile文件&#xff0c;它可以指定具体的编译操作&#xff0c;写好makefile文件&#x…

Hive窗口函数详解

一、 窗口函数知识点 1.1 窗户函数的定义 窗口函数可以拆分为【窗口函数】。窗口函数官网指路&#xff1a; LanguageManual WindowingAndAnalytics - Apache Hive - Apache Software Foundationhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual%20Windowing…

奶茶点餐|奶茶店自助点餐系统|基于微信小程序的饮品点单系统的设计与实现(源码+数据库+文档)

奶茶店自助点餐系统目录 目录 基于微信小程序的饮品点单系统的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、商品信息管理 2、商品评价管理 3、商品订单管理 4、用户管理 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 …

云计算运维 · 第三阶段 · 代码上线案例

学习b记 第三阶段 持续集成案例 这一章做一个小的案例&#xff0c;git、gitlab、jenkins、sonarqube、maven、shell把这周学的一整个流程串联起来做一个完整的代码发布流程案例&#xff0c;这一部分东西比较多&#xff0c;相对于之前的笔记这个会做的仔细一点。#嘿嘿回家就是…

3秒实现无痛基于Stable Diffusion WebUI安装ComfyUI!无需重复安装环境!无需重复下载模型!安装教程

标题略有夸张的表达了接下来这一套确实很简单&#xff0c;相较于直接下载或者通过秋叶包更新而言。大大节省磁盘空间&#xff0c;和下载时间。 这篇教程不需要你有&#xff1a; 代码基础。都是复制粘贴就完事。魔法。 这篇教程默认你已经有&#xff1a; 1. 本地能够正常使用…

【计算几何】确定两条连续线段向左转还是向右转

确定两条连续线段向左转还是向右转 目录 一、说明二、算法2.1 两点的叉积2.2 两个段的叉积 三、旋转方向判别3.1 左转3.2 右转3.3 共线判别 一、说明 如果是作图&#xff0c;或者是判别小车轨迹。为了直观地了解&#xff0c;从当前点到下一个点过程中&#xff0c;什么是左转、…

Peter算法小课堂—背包问题

我们已经学过好久好久的动态规划了&#xff0c;动态规划_Peter Pan was right的博客-CSDN博客 那么&#xff0c;我用一张图片来概括一下背包问题。 大家有可能比较疑惑&#xff0c;优化决策怎么优化呢&#xff1f;答案是&#xff0c;滚动数组&#xff0c;一个神秘而简单的东西…