《快速掌握PyQt5》专栏整理成书出版啦!

news2024/11/16 20:48:44

首先非常感谢大家对《快速掌握PyQt5》专栏的喜爱与支持!该专栏现已整理成书出版,书名为《PyQt编程快速上手》。

本书内容在专栏内容的基础上进行了多方面的优化,内容更加丰富,知识点布局更加合理,代码和解释也更加简洁易懂。针对粉丝朋友们在使用PyQt时常遇到的一些问题,笔者也在书中给了解决方案。除此之外,本书还详细讲解了PyInstallerNuitka打包的使用方法和技巧。相信这本书一定能够让大家快速上手PyQt,并感受到PyQt的魅力。

购书地址

天猫、当当、京东、异步社区

本书目录

第 1章 PyQt基础知识 1

1.1 安装PyQt 1

1.1.1 在不同系统上安装 1

1.1.2 验证安装是否成功 3

1.2 设计一个简单的PyQt窗口 3

1.2.1 程序入口 3

1.2.2 在PyQt程序中嵌入HTML代码 4

1.2.3 在类中创建窗口 5

1.3 布局管理 6

1.3.1 使用move()方法布局 7

1.3.2 垂直布局管理器QVBoxLayout 8

1.3.3 水平布局管理器QHBoxLayout 9

1.3.4 表单布局管理器QFormLayout 10

1.3.5 网格布局管理器QGridLayout 11

1.3.6 布局嵌套 12

1.4 信号和槽 13

1.4.1 理解信号和槽机制 13

1.4.2 一个信号连接一个槽 14

1.4.3 一个信号连接多个槽 17

1.4.4 多个信号连接一个槽 18

1.4.5 信号与信号连接 19

1.4.6 自定义信号 20

1.5 学会使用文档 22

1.5.1 理解文档上的C++代码 22

1.5.2 如何使用文档 23

1.6 本章小结 25

第 2章 PyQt的基础控件 26

2.1 标签控件QLabel 26

2.1.1 显示文本 26

2.1.2 显示图片 27

2.1.3 显示动图 28

2.2 消息框控件QMessageBox 30

2.2.1 各种类型的消息框 30

2.2.2 与消息框交互 32

2.2.3 编写带中文按钮的消息框 33

2.3 文本框控件 34

2.3.1 单行文本框控件QLineEdit 34

2.3.2 文本编辑框控件QTextEdit 36

2.3.3 文本浏览框控件QTextBrowser 38

2.4 各种按钮控件 39

2.4.1 普通按钮控件QPushButton 39

2.4.2 工具按钮控件QToolButton 40

2.4.3 单选框按钮控件QRadioButton 41

2.4.4 复选框按钮控件QCheckBox 42

2.4.5 下拉框按钮控件QComboBox 43

2.5 与数字相关的控件 45

2.5.1 液晶数字控件QLCDNumber 45

2.5.2 数字调节框控件QSpinBox和QDoubleSpinBox 46

2.5.3 滑动条控件QSlider 47

2.5.4 仪表盘控件QDial 48

2.6 与日期相关的控件 49

2.6.1 日历控件QCalendarWidget 49

2.6.2 日期时间控件QDateTimeEdit 51

2.7 定时器控件和进度条控件 53

2.7.1 定时器控件QTimer 53

2.7.2 进度条控件QProgressBar 54

2.8 本章小结 55

第3章 PyQt的高级控件 56

3.1 组合框控件和工具箱控件 56

3.1.1 分组框控件QGroupBox 56

3.1.2 工具箱控件QToolBox 57

3.2 滚动区域控件和滚动条控件 59

3.2.1 滚动区域控件QScrollArea 59

3.2.2 滚动条控件QScrollBar 61

3.3 更多容器控件 63

3.3.1 拆分窗口控件QSplitter 63

3.3.2 标签页控件QTabWidget 64

3.3.3 堆栈控件QStackedWidget 66

3.3.4 多文档区域控件QMdiArea 67

3.4 列表视图控件、树形视图控件、表格视图控件 69

3.4.1 列表视图控件QListView 70

3.4.2 树形视图控件QTreeView 72

3.4.3 表格视图控件QTableView 73

3.5 简化版的列表、树形、表格视图控件 75

3.5.1 简化版列表视图控件QListWidget 75

3.5.2 简化版树形视图控件QTreeWidget 76

3.5.3 简化版表格视图控件QTableWidget 78

3.6 各种对话框控件 79

3.6.1 颜色对话框控件QColorDialog 79

3.6.2 字体对话框控件QFontDialog 81

3.6.3 输入对话框控件QInputDialog 82

3.6.4 文件对话框控件QFileDialog 84

3.7 本章小结 86

第4章 深入窗口 87

4.1 窗口属性 87

4.1.1 窗口标题和图标 88

4.1.2 窗口大小和位置 88

4.1.3 其他窗口属性 91

4.2 窗口坐标 93

4.2.1 理解坐标体系 93

4.2.2 窗口的组成部分 94

4.3 窗口事件 95

4.3.1 窗口关闭事件 95

4.3.2 窗口大小调整事件 96

4.3.3 键盘事件 97

4.3.4 鼠标事件 98

4.3.5 拖放事件 100

4.3.6 绘制事件 102

4.4 主窗口类QMainWindow 103

4.4.1 主窗口的组成部分 103

4.4.2 停靠窗口类QDockWidget 105

4.4.3 菜单栏类QMenuBar 107

4.4.4 工具栏类QToolBar 108

4.4.5 状态栏类QStatusBar 110

4.4.6 程序启动画面类QSplashScreen 112

4.5 本章小结 113

第5章 Qt Designer 114

5.1 安装与配置 114

5.1.1 在Windows系统上安装 114

5.1.2 在macOS系统上安装 115

5.1.3 在Ubuntu系统上安装 115

5.1.4 在PyCharm中配置设计师 116

5.2 了解设计师窗口中的各个部分 117

5.2.1 控件箱 118

5.2.2 对象查看器 118

5.2.3 属性编辑器 119

5.2.4 菜单栏和工具栏 119

5.3 4种编辑模式 121

5.3.1 布局模式 121

5.3.2 编辑信号和槽模式 123

5.3.3 编辑伙伴关系模式 125

5.3.4 编辑Tab顺序模式 126

5.4 登录框开发实战 127

5.4.1 编辑属性 127

5.4.2 布局控件 129

5.4.3 将.ui文件转换成.py文件 130

5.4.4 编写功能逻辑代码 130

5.5 本章小结 131

第6章 PyQt高级应用 132

6.1 数据库 132

6.1.1 数据库连接和关闭 133

6.1.2 执行SQL语句 134

6.1.3 数据库模型 136

6.2 多线程 139

6.2.1 使用QThread线程类 140

6.2.2 在线程中获取窗口数据信息 143

6.2.3 编写一个简单的爬虫程序 144

6.3 绘图与打印 146

6.3.1 画笔类QPen 146

6.3.2 画刷类QBrush 149

6.3.3 用鼠标在窗口上绘制矩形 150

6.3.4 打印 153

6.4 动画 155

6.4.1 属性动画类QPropertyAnimation 155

6.4.2 串行动画组类QSequentialAnimationGroup 158

6.4.3 并行动画组类QParallelAnimationGroup 160

6.4.4 时间轴类QTimeLine 162

6.5 音频和视频 164

6.5.1 声音类QSound 164

6.5.2 音效类QSoundEffect 165

6.5.3 媒体播放机类QMediaPlayer 166

6.6 网页交互 170

6.6.1 了解QWebEngineView 170

6.6.2 制作一款简单的浏览器 172

6.7 网络应用 175

6.7.1 QUdpSocket 175

6.7.2 QTcpSocket和QTcpServer 180

6.8 QSS 183

6.8.1 安装QSS高亮插件 185

6.8.2 基本规则 185

6.8.3 选择器的类型 187

6.8.4 子控制器 189

6.8.5 伪状态 190

6.8.6 QSS第三方库 191

6.9 国际化 193

6.9.1 使用translate()方法 193

6.9.2 制作.ts文件 194

6.9.3 使用Qt Linguist 196

6.9.4 实现语言切换功能 198

6.10 本章小结 199

第7章 图形视图框架 200

7.1 图形图元类QGraphicsItem 200

7.1.1 标准图元 200

7.1.2 图元层级 203

7.1.3 图元变换 205

7.1.4 图元分组 206

7.1.5 碰撞检测 208

7.1.6 给图元添加信号和动画 209

7.2 图形场景类QGraphicsScene 211

7.2.1 管理图元 211

7.2.2 嵌入控件 212

7.3 图形视图类QGraphicsView 214

7.3.1 视图和场景的大小关系 215

7.3.2 视图变换 216

7.4 事件传递与坐标转换 217

7.4.1 事件传递顺序 217

7.4.2 坐标转换 219

7.5 本章小结 221

第8章 打包 222

8.1 PyInstaller 222

8.1.1 环境配置 222

8.1.2 两种打包模式 223

8.1.3 黑框的调试作用 225

8.1.4 给可执行文件加上图标 226

8.1.5 打包资源文件 226

8.1.6 减小打包后的文件大小 228

8.1.7 其他常用的命令 230

8.1.8 用PyInstaller打包用PyQt开发的程序 232

8.2 Nuitka 234

8.2.1 环境配置 234

8.2.2 两种打包模式 237

8.2.3 给可执行文件加上图标 239

8.2.4 打包资源文件 240

8.2.5 启用插件 242

8.2.6 减小打包文件的大小 243

8.2.7 其他常用的命令 244

8.2.8 用Nuitka打包用PyQt开发的程序 246

8.3 本章小结 247

第9章 开发可视化爬虫软件 248

9.1 实现爬虫功能 249

9.1.1 分析目标网站 249

9.1.2 编写爬虫代码 250

9.2 将爬虫与界面结合 252

9.2.1 完成界面布局 252

9.2.2 编写爬虫线程 254

9.2.3 在界面上显示爬取数据和日志 257

9.2.4 实现保存功能 259

9.3 音效与美化 262

9.3.1 添加音效 262

9.3.2 美化界面 263

9.4 打包 264

9.4.1 用PyInstaller打包 264

9.4.2 用Nuitka打包 265

9.5 本章小结 266

第 10章 开发《经典贪吃蛇》游戏 267

10.1 编写游戏场景 268

10.1.1 绘制背景和贪吃蛇图标 269

10.1.2 绘制分数 270

10.1.3 绘制可移动区域和边框 271

10.1.4 绘制“暂停”和“继续”按钮 272

10.1.5 绘制游戏失败提示 274

10.1.6 在视图窗口中显示场景 275

10.2 加入食物和贪吃蛇 277

10.2.1 在场景中添加食物 277

10.2.2 在场景中添加贪吃蛇 279

10.2.3 如何让贪吃蛇动起来 283

10.3 实现剩余的游戏逻辑 284

10.3.1 用方向键控制贪吃蛇 284

10.3.2 重新开始、暂停和继续 286

10.3.3 播放音频 287

10.4 打包 289

10.4.1 用PyInstaller打包 289

10.4.2 用Nuitka打包 290

10.5 本章小结 291

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

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

相关文章

Zookeeper源码分析——ZK选举源码解析

ZK选举源码解析 Zookeeper选举机制——第一次启动 Zookeeper选举机制——非第一次启动 ZK选举源码解析 ZK选举准备源码解析 public synchronized void start() {if (!getView().containsKey(myid)) {throw new RuntimeException("My id " myid " not in the …

Camunda流程引擎 Modeler (二)

Camunda Modeler是Camunda官方提供的建模器: Modeler - 独立安装的建模器([windows、linux、mac] 一、下载camunda-modeler Download The Camunda BPMN / DMN Process Modeler | Camunda Release v5.10.0 camunda/camunda-modeler GitHubAn integrate…

深度强化学习【1】-强化学习入门必备基础(含Python迷宫游戏求解实例)

强化学习入门必备基础 文章目录 强化学习入门必备基础1. 强化学习与机器学习1.1 有监督学习1.2 半监督学习1.3 无监督学习1.4 强化学习1.5 深度学习 2. 强化学习中的一些概念2.1 智能体、动作、状态2.2 策略函数、奖励2.3 状态转移2.4 智能体与环境的交互过程2.5 折扣奖励2.6 动…

【Leetcode -21.合并两个有序链表 -83.删除排序链表中的重复元素】

Leetcode Leetcode-21.合并两个有序链表Leetcode-83.删除排序链表中的重复元素 Leetcode-21.合并两个有序链表 题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 […

CUDA编程一天入门

目录 0 环境准备 1 套路 2 并行执行内核设置 3 示例代码simpleTexture3D 4 参考链接 0 环境准备 1 套路 CUDA 编程模型是一个异构模型,其中同时使用 CPU 和 GPU。在 CUDA 中,主机是指 CPU 及其内存,而设备是指 GPU 及其内存。在主机…

Prophet学习(三)饱和的预测与饱和最低

目录 饱和的预测(Forecasting Growth) 饱和最低(Saturating Minimum) 饱和的预测(Forecasting Growth) 默认情况下,Prophet使用线性模型进行预测。在预测增长时,通常有一个最大可达…

Ubuntu22.04lts NVIDIA驱动安装

1. NVIDIA驱动安装 1.1 手动安装 驱动下载地址:NVIDIA Driver Downloads 注意要在文本模式安装,进入文本模式的方法:sudo init 3。 返回图形化界面的方法sudo init 5 安装时报错: 安装NVIDIA驱动(手动安装NVIDIA-L…

两种方式,轻松实现ChatGPT联网

两种方式效果: 方式一:浏览器搜索内嵌插件 方式二:官方聊天页内嵌插件 首先,要有一个谷歌浏览器,然后再安装一个叫ChatGPT for Google,直接在谷歌里搜一下就能找,也可以Chrome应用商店里搜索&a…

SAP批次主数据增强屏幕增强<转载>

原文链接:https://blog.csdn.net/hustliangchen/article/details/111163361 msc1n/msc2n/msc3n 批次增强 这几个事务码的主程序为SAPLCHRG,在如下图界面上有两块地方是可以做增强所预留的子屏幕,其中2是一个tab页签的子屏幕。注意版本较老的…

AI企划-《大明镇抚司到此一游》商业计划书

结合中国文化和当地资源打造的独特旅游产品 一、项目概述 本项目旨在利用中国文化特色,结合新西兰当地资源和市场需求,打造一款独特的旅游产品——“大明镇抚司到此一游”网红打卡点。该打卡点以大明镇抚司为主题,以大明小龙虾美食为特色&am…

千亿市场!低代码平台极大提升企业应用开发效率,颠覆传统模式!

背景 低代码平台的5个核心亮点: 可视化的表单设计; 2.可视化的审批流,逻辑流设计; 3.可视化的BI图标设计; 4.可视化的以应用为中心的开放和集成接口设计; 5.以应用为中心,依托于云原生技术的快…

线性表,栈和队列

什么是线性表? 线性表是由n个相同类型的数据元素组成的有限序列,它是最基本的一种线性结构。顾名思义,线性表就像是一条线,不会分叉。线性表有唯一的开始和结束,除了第一个元素外,每个元素都有唯一的直接前…

docker容器:docker资源管理

目录 一、docker资源控制 1、资源控制工具 2、设置CPU使用率上限 3、CPU压力测试 4、Cgroups限制cpu使用率 5、查看容器运行状态 6、 配置容器指定CPU 7、限制容器内存使用 8、对磁盘IO配额控制(blkio)的限制 二、docker数据管理 1、数据管理…

量子退火算法入门(7):如何QUBO中的三次多项式怎么转换?

文章目录 前言一、三次多项式的例题二、Python实现1.引入库 总结 前言 本文还是大部分截图来自于:《最適化問題とWildqatを用いた量子アニーリング計算入門》 https://booth.pm/ja/items/1415833 终于有人问到怎么将QUBO中的三次多项式转换为二次多项式了。直接以…

购物车--购物车模块完善

很明显,之前的购物车模块功能的实现不够完善,缺少一个删除购物车中产品的操作,针对此我们加一个删除功能。 1、写负责删除的servelt类 2、然后我们给购物车页面的jsp添加超链接传递目标id 搞定。

王道计组(23版)1_计算机系统概述

1.计算机发展历程 硬件的发展: 电子管、晶体管、中小规模集成电路、超大规模集成电路 摩尔定律: 价格不变时,每18个月,集成电路可容纳的晶体管数量和性能增加一倍 微型计算机的发展以微处理器技术为标志 计算机体系结构&#xf…

u盘里的文件被自动删除了怎么办?五种数据恢复方案

u盘是我们日常生活中常常用到的一种便携式存储设备,可以帮助我们存储和携带大量的文件信息。但是,使用过程中难免会遇到一些问题,例如u盘会自己删除文件的情况,如果你遇到了这种情况,该怎样找回u盘自己删除的文件呢&am…

程序猿眼中的协议:TCP / IP 五层网络模型

哈喽,大家好~我是你们的老朋友: 保护小周ღ,本期为大家带来的是 网络基础原理中的 TCP / IP 五层网络模型,主要从协议的概念,网络模型,数据分层传输的流程,几个方面讲解,看完之后可以…

jdk-FuteureForkJoin框架源码学习

背景 日常的计算任务大部分都是串行来执行,但是如果一个复杂的任务需要进行拆分为多个小任务,那么以往是自行写一个递归或者循环计算等算法来实现,随着这类需求的提升,java7中引入了ForkJoin框架来支持这类计算,可以比…

计算机组成原理——第六章总线

误逐世间乐,颇穷理乱情 文章目录 前言6.1.1 总线概述6.1.2 总线的性能指标6.2 总线仲裁(408不考)6.3 总线操作和定时 前言 本章在概述部分我们会首先介绍一下总线的基本概念,介绍一下总线的分类以及经典结构,介绍一些性能指标来评价总线的性…