新書推薦:
《
长安曾有少年郎
》
售價:HK$
43.8
《
何以为园:中国江南古典私家园林的经济解释
》
售價:HK$
74.8
《
漫画图解博弈论:段位经商谋略之道 赢家是怎样炼成的
》
售價:HK$
43.8
《
斯坦福高中校长给父母的6堂课
》
售價:HK$
87.9
《
人间来过:百岁医师的人生处方
》
售價:HK$
53.9
《
湿胖2
》
售價:HK$
61.6
《
日本名厨高汤研究全书
》
售價:HK$
96.8
《
犹太古史
》
售價:HK$
195.8
|
編輯推薦: |
本书是一本基础入门加实战的书籍,既有基础知识,又有丰富的典型案例。这些典型案例贴近工作、学习、生活,应用性强,将语法知识和编程思路融入大量的典型案例,带领读者学会PySide6/PyQt6,并应用PySide6/PyQt6解决实际问题,从而提高能力。
本书示例代码丰富,实用性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重点、难点。
|
內容簡介: |
本书以PySide6/PyQt6的实际应用为主线,以理论基础为核心,引导读者渐进式学习PySide6/PyQt6的编程基础和实际应用。
本书共12章,可分为5部分。第一部分介绍基于项的控件、基于模型/视图的控件(第1章和第2章),第二部分介绍处理数据库、文件、路径、缓存相关的类和应用方法(第3章和第4章)、第三部分介绍使用Graphics/View框架绘图、绘制二维图表和三维图表的相关类和应用方法(第5~7章)、第四部分介绍处理网络、多媒体、打印机、QML相关的类和应用方法(第8~11章)。第五部分以案例的形式介绍了如何使用PySide6和其他Python模块编写实用程序的方法,并介绍了制作程序安装包的方法(第12章)。
本书示例代码丰富,实用性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重点、难点。本书适合初学者入门,精心设计的案例对于工作多年的开发者也有参考价值,并可作为高等院校和培训机构相关专业的教学参考书。
|
關於作者: |
邢世通 物理学学士,光学工程硕士。编程研究者,熟悉Python、C、C 、PHP、JavaScript、MATLAB等编程语言及相关技术。拥有数学、Python的教学经验。参与过光子计数测量系统软件开发、动态光散射的自相关数据算法、网站开发与安全维护等项目,有两项国家实用新型专利(第一作者)、两篇EI检索论文(第一作者)。著有《编程改变生活——用Python提升你的能力(基础篇?微课视频版)》《编程改变生活——用Python提升你的能力(进阶篇?微课视频版)》。
|
目錄:
|
教学课件(PPT)
本书源码
第 一 部 分
第1章基于项的控件(118min)
1.1列表控件QListWidget及其项QListWidgetItem
1.1.1列表控件QListWidget
1.1.2QListWidgetItem类
1.1.3典型应用
1.2表格控件QTableWidget及其项QTableWidgetItem
1.2.1表格控件QTableWidget
1.2.2QTableWidgetItem类
1.2.3使用表格控件处理CSV文件
1.2.4使用表格控件处理Excel文件
1.3树结构控件QTreeWidget及其项QTreeWidgetItem
1.3.1树结构控件QTreeWidget
1.3.2QTreeWidgetItem类
1.3.3使用Qt Designer创建树结构控件
1.4小结
第2章基于模型/视图的控件(72min)
2.1模型/视图简介
2.1.1Model/View/Delegate框架
2.1.2数据模型Model
2.1.3视图控件View
2.1.4代理控件Delegate
2.1.5数据项索引QModelIndex
2.1.6抽象数据模型QAbstractItemModel
2.1.7典型应用
2.2QStringListModel与QListView的用法
2.2.1文本列表模型QStringListModel
2.2.2列表视图控件QListView
2.2.3典型应用
2.3QFileSystemModel与QTreeView的用法
2.3.1文件系统模型QFileSystemModel
2.3.2树视图控件QTreeView
2.3.3典型应用
2.4QStandardItemModel与QTableView的用法
2.4.1标准数据模型QStandardItemModel
2.4.2表格视图控件QTableView
2.4.3典型应用
2.5QItemSelectionModel与QStyledItemDelegate的用法
2.5.1选择模型QItemSelectionModel
2.5.2代理控件QStyledItemDelegate
2.5.3典型应用
2.6小结
第 二 部 分
第3章数据库(82min)
3.1使用PySide6操作数据库
3.1.1数据库连接类QSqlDatabase
3.1.2数据库查询类QSqlQuery
3.1.3操作SQLite数据库
3.2操作MySQL数据库
3.2.1安装MySQL数据库的集成开发环境
3.2.2安装、应用PyMySQL模块
3.2.3操作数据表
3.3数据库查询模型类QSqlQueryModel
3.3.1QSqlQueryModel类
3.3.2典型应用
3.4数据库表格模型类QSqlTableModel
3.4.1QSqlTableModel类
3.4.2记录类QSqlRecord
3.4.3字段类QSqlField
3.4.4典型应用
3.5关系表格模型类QSqlRelationalTableModel
3.5.1QSqlRelationalTableModel类
3.5.2数据映射类QSqlRelation
3.5.3典型应用
3.6小结
第4章文件、路径与缓存(118min)
4.1使用PySide6读写文件
4.1.1文件抽象类QIODevice
4.1.2字节数组类QByteArray
4.1.3使用QFile类读写文件
4.2使用流方式读写文件
4.2.1文本流类QTextStream
4.2.2使用QFile和QTextStream读写文本文件
4.2.3数据流类QDataStream
4.2.4使用QFile和QDataStream读写二进制文件
4.2.5使用 QDataStream读写类对象
4.3文件信息与路径管理
4.3.1文件信息类QFileInfo
4.3.2路径管理类QDir
4.3.3文件和路径监视器类QFileSystemWatcher
4.4临时数据
4.4.1临时文件类QTemporaryFile
4.4.2临时路径类QTemporaryDir
4.4.3存盘类QSaveFile
4.4.4缓存类QBuffer
4.5小结
第 三 部 分
第5章Graphics/View绘图(81min)
5.1Graphics/View简介
5.1.1Graphics/View绘图框架
5.1.2Graphics/View的坐标系
5.1.3典型应用
5.2Graphics/View相关类
5.2.1图像视图类QGraphicsView
5.2.2图像场景类QGraphicsScene
5.2.3图形项类QGraphicsItem
5.2.4标准图形项类
5.3代理控件和图形控件
5.3.1代理控件类QGraphicsProxyWidget
5.3.2图形控件类QGraphicsWidget
5.3.3图形控件布局类
5.3.4图形效果类
5.4小结
第6章绘制二维图表(144min)
6.1图表视图和图表
6.1.1绘制简单的折线图
6.1.2图表视图类QChartView
6.1.3图表类QChart
6.2数据序列
6.2.1数据序列抽象类QAbstractSeries
6.2.2绘制XY图(折线图、散点图、样条曲线图)
6.2.3绘制面积图
6.2.4绘制饼图
6.2.5绘制条形图
6.2.6绘制蜡烛图
6.2.7绘制箱形图
6.3绘制极坐标图表
6.3.1极坐标图表类QPolarChart
6.3.2典型应用
6.4设置图表的坐标轴
6.4.1抽象坐标轴类QAbstractAxis
6.4.2数值坐标轴类QValueAxis
6.4.3对数坐标轴类QLogValueAxis
6.4.4条形图坐标轴类QBarCategoryAxis
6.4.5条目坐标轴类QCategoryAxis
6.4.6时间坐标轴类QDateTimeAxis
6.5设置图表的图例
6.5.1图例类QLegend
6.5.2图例标志类QLegendMarker
6.6小结
第7章绘制三维图表(111min)
7.1QtDataVisualization子模块概述
7.1.1三维图表类
7.1.2三维数据序列类
7.1.3三维坐标轴类
7.1.4绘制一个简单的三维图表
7.1.5三维图表抽象类QAbstract3DGraph
7.1.6三维场景类Q3DScene和三维相机类Q3DCamera
7.1.7三维坐标类QVector3D
7.1.8三维主题类Q3DTheme
7.1.9三维数据序列抽象类QAbstract3DSeries
7.2绘制三维散点图
7.2.1三维散点图表类Q3DScatter
7.2.2三维散点数据序列类QScatter3DSeries
7.2.3三维散点数据代理类QScatterDataProxy
7.2.4典型应用
7.3绘制三维曲面图、三维地形图
7.3.1三维曲面图表类Q3DSurface
7.3.2三维曲面数据序列类QSurface3DSeries
7.3.3三维曲面数据代理类QSurfaceDataProxy
7.3.4绘制三维曲面图
7.3.5绘制三维地形图
7.4绘制三维柱状图
7.4.1三维柱状图表类Q3DBars
7.4.2三维柱状数据序列类QBar3DSeries
7.4.3三维柱状数据代理类QBarDataProxy
7.4.4典型应用
7.5设置坐标轴
7.5.1三维坐标轴抽象类QAbstract3DAxis
7.5.2三维数值坐标轴类QValue3DAxis
7.5.3三维条目坐标轴类QCategory3DAxis
7.6小结
第 四 部 分
第8章网络(84min)
8.1主机信息查询
8.1.1主机信息类QHostInfo
8.1.2网络接口类QNetworkInterface
8.2TCP通信
8.2.1QTcpServer类
8.2.2QTcpSocket类
8.2.3TCP服务器端程序设计
8.2.4TCP客户端程序设计
8.3UDP通信
8.3.1QUdpSocket类
8.3.2单播、广播程序设计
8.3.3UDP组播程序设计
8.4基于HTTP的通信
8.4.1HTTP请求类QNetworkRequest
8.4.2HTTP网络操作类QNetworkAccessManager
8.4.3HTTP响应类QNetworkReply
8.4.4典型应用
8.5小结
第9章多媒体(57min)
9.1多媒体模块概述
9.2播放声频
9.2.1QMediaPlayer类
9.2.2QAudioOutput类
9.2.3创建MP3声频播放器
9.2.4QSoundEffect类
9.2.5创建WAV声频播放器
9.3录制声频
9.3.1媒体捕获器类QMediaCaptureSession
9.3.2媒体录制类QMediaRecorder
9.3.3创建声频录制器
9.4播放视频
9.4.1使用QVideoWidget类播放视频
9.4.2使用QGraphicsVideoItem类播放视频
9.5应用摄像头
9.5.1摄像头设备类 QCameraDevice
9.5.2摄像头控制接口类QCamera
9.5.3摄像头拍照类QImageCapture
9.5.4应用摄像头拍照
9.5.5媒体格式类QMediaFormat
9.5.6应用摄像头录像
9.6小结
第10章应用打印机(43min)
10.1打印机信息与打印机
10.1.1打印机信息类QPrinterInfo
10.1.2打印机类QPrinter
10.1.3打印窗口界面
10.1.4打印控件内容
10.2打印对话框、打印预览对话框、打印预览控件
10.2.1打印对话框类QPrintDialog
10.2.2打印预览对话框类QPrintPreviewDialog
10.2.3打印预览控件类QPrintPreviewWidget
10.3PDF文档生成器
10.4小结
第11章QML与QtQuick(10min)
11.1QML与QtQuick简介
11.1.1QML简介
11.1.2QtQuick简介
11.1.3QtQuick与QtWidgets的窗口界面对比
11.2应用QML
11.2.1使用Python调用QML文件
11.2.2QML的事件处理
11.3小结
第 五 部 分
第12章用PySide6创建实用程序
12.1创建一个自动生成密码的程序
12.2创建对PDF文档与Word文档进行格式转换的程序
12.3创建将网页转换为PDF文档的程序
12.4小结
附录A根据可执行文件制作程序安装包
附录BQApplication类的常用方法
|
內容試閱:
|
Python作为一门优秀的编程语言,由于其语法简洁、优雅、明确,因此受到很多程序员和编程爱好者的青睐。GUI(用户图形界面开发)是Python的一个非常重要的方向。PySide6和PyQt6都是跨平台、高效的GUI框架,是使用Python开发GUI程序时最常用、最高效的技术。使用PySide6或PyQt6开发的程序可以运行在Windows、Linux、macOS等桌面系统上,也可以运行在Android、iOS、嵌入式设备上。
也许会有人问: “既然PySide6/PyQt6功能强大,是否需要非常多的时间才能学会这个GUI框架?”其实这样的担心是多余的。任何一个GUI框架都是帮助开发者提高开发效率的工具,PySide6/PyQt6也不例外。学习PySide6/PyQt6的目的不是为了学习而学习,而是编写实用、稳定的GUI程序。如果我们用最短的时间掌握PySide6/PyQt6的必要知识,然后持续地应用这些知识创建不同的GUI程序,则我们的学习效率会非常高,而且会体会到PySide6/PyQt6的强大之处,在实际开发中可以引入Python的内置模块和第三方模块,这会明显地提高开发效率。
本书提供丰富的案例,并将语法知识和编程思路融入大量的典型案例,带领读者学会PySide6/PyQt6,同时应用PySide6/PyQt6解决实际问题。
本书主要内容
本书共12章,分为5部分。
第一部分(第1章和第2章)主要讲解基于项的控件和基于模型/视图的控件。使用这两类控件都可以处理列表数据、二维表格数据、树结构数据。
第二部分(第3章和第4章)主要讲解PySide6处理数据库、文件、路径、缓存相关的类和处理方法。重点讲解处理SQLite和MySQL数据库的相关类和方法。
第三部分(第5~7章)主要讲解使用Graphics/View框架绘图的相关类和方法,并介绍绘制二维图表和三维图表的相关类和处理方法。其中第7章的实例使用PySide6和NumPy模块绘制三维图表,这是本书的一个难点,需要的知识比较多。
第四部分(第8~11章)主要讲解PySide6处理网络、多媒体、打印机、QML相关的类和处理方法。
第五部分(第12章)以案例的形式介绍如何使用PySide6和其他Python模块编写实用程序的方法。
附录A介绍根据可执行文件制作程序安装包的方法。读者可编写Python代码,生成可执行文件,并制作程序安装包。
阅读建议
本书是一本基础加实战的书籍,既有基础知识,又有丰富的典型案例。这些典型案例贴近工作、学习和生活,应用性强。
建议读者先掌握Python的基础知识和PySide6的基础知识后,再阅读本书。本书中的有些案例比较复杂,应用到Python的内置模块和第三方模块,需要的知识较多。
第一部分的内容比较有规律,分别使用基于项的控件和基于模型/视图的控件处理不同类型的数据。该部分的个别案例应用了Python的内置模块CSV和第三方模块openpyxl。
第二部分的内容比较分散,读者可根据自己的应用需求,选择性地阅读该部分的内容。该部分的个别案例应用了Python的第三方模块PyMySQL。
第三部分属于比较有规律的部分,介绍了使用PySide6绘制各种图形、二维图表、三维图表的相关类和方法。绘制二维图表的案例应用了Python的内置模块math,绘制三维图表的案例应用了第三方模块NumPy。
第四部分属于比较分散的部分,读者可根据自己的应用需求,选择阅读该部分的内容。
第五部分属于需要实际操作的部分,以案例的形式介绍了使用PySide6和其他Python模块创建实用程序的方法,并可以根据可执行文件创建程序安装包。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
致谢
感谢我的家人、朋友,尤其感谢我的父母,由于你们的辛勤付出,我才可以全身心地投入写作工作。
感谢清华大学出版社赵佳霓编辑,在书稿的出版过程中给我提出了非常有意义的建议,没有你们的策划和帮助,我难以顺利完成本书。
感谢我的老师、同学,尤其感谢我的导师,在我的求学过程中,你们曾经给我很大的帮助。感谢为这本书付出辛勤工作的每个人!
由于作者水平有限,书中难免存在不足之处,请读者见谅,并提出宝贵意见。
作者2024年1月
|
|