新書推薦:
《
逃不开的科技创新战争
》
售價:HK$
103.3
《
漫画三国一百年
》
售價:HK$
55.2
《
希腊文明3000年(古希腊的科学精神,成就了现代科学之源)
》
售價:HK$
82.8
《
粤行丛录(岭南史料笔记丛刊)
》
售價:HK$
80.2
《
岁月待人归:徐悲鸿自述人生艺术
》
售價:HK$
61.4
《
女人的中国医疗史:汉唐之间的健康照顾与性别
》
售價:HK$
103.8
《
资治通鉴熊逸版:第四辑
》
售價:HK$
470.8
《
中国近现代名家精品——项维仁:工笔侍女作品精选
》
售價:HK$
66.1
|
編輯推薦: |
本书是一本基础入门加实战的书籍,既有基础知识,又有丰富的典型案例。这些典型案例贴近工作、学习、生活,应用性强,将语法知识和编程思路融入大量的典型案例,带领读者学会PySide6/PyQt6,并应用PySide6/PyQt6解决实际问题,从而提高能力。
本书示例代码丰富,实用性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重点、难点。
|
內容簡介: |
本书以PySide6/PyQt6的实际应用为主线,以理论基础为核心,引导读者渐进式学习PySide6/PyQt6的编程基础和实际应用。
本书共10章,可分为4部分。第一部分PySide6和PyQt6的历史与发展、PySide6编程环境搭建和PySide6的基础知识(第1章)、第二部分应用Qt Designer设计UI界面(第2章)、第三部分介绍PySide6中各种类的应用方法(第3~8章)、第四部分深入介绍了信号/槽机制、多线程和比较底层的事件处理机制(第9章和第10章)。
本书示例代码丰富,实用性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重点、难点。本书既适合初学者入门,精心设计的案例对于工作多年的开发者也有参考价值,并可作为高等院校和培训机构相关专业的教学参考书。
|
關於作者: |
邢世通 物理学学士,光学工程硕士。编程研究者,熟悉Python、C语言、C 语言、PHP语言、JavaScript语言、MATLAB等编程语言及相关技术。拥有数学、Python的教学经验。参与过光子计数测量系统软件开发、动态光散射的自相关数据算法、网站开发与安全维护等项目,有两项国家实用新型专利(第一作者)、两篇EI检索论文(第一作者)。著有《编程改变生活——用Python提升你的能力(基础篇?微课视频版)》《编程改变生活——用Python提升你的能力(进阶篇?微课视频版)》。
|
目錄:
|
第一部分
第1章认识PySide6/PyQt6(48min)
1.1PySide6/PyQt6的历史与发展
1.1.1Python与PySide6/PyQt6简介
1.1.2PySide6的发展与优势
1.1.3应用PySide6的 知识
1.2搭建开发环境
1.2.1安装Python
1.2.2文本编辑器和集成开发环境
1.2.3安装PySide6
1.2.4使用PySide6创建第1个GUI程序
1.2.5PySide6中的类和子模块
1.3将Python代码打包成可执行文件
1.3.1PyInstaller简介
1.3.2将Python代码打包成可执行文件
1.4小结
第二部分
第2章应用Qt Designer设计界面(116min)
2.1Qt Designer简介
2.1.1Qt Designer的窗口介绍
2.1.2设计UI界面
2.1.3将.ui文件转换为.py文件
2.2窗口界面与业务逻辑分离的编程方法
2.2.1引入转换成的.py文件
2.2.2编写业务逻辑代码
2.2.3将.py文件打包成可执行文件
2.3设置信号与槽的关联
2.3.1手动设置信号与槽的关联
2.3.2在Python代码中引入.ui文件
2.4布局管理入门
2.4.1绝对布局
2.4.2使用布局管理器布局
2.4.3使用容器控件进行布局
2.4.4使用间隔控件进行布局
2.5菜单栏与工具栏
2.5.1添加菜单栏
2.5.2添加工具栏
2.6添加图片
2.6.1直接引入图片文件
2.6.2创建和使用资源文件
2.6.3将.qrc文件转换为.py文件
2.7典型应用
2.7.1典型应用1
2.7.2典型应用2
2.8小结
第三部分
第3章窗口类与标签控件(185min)
3.1窗口类
3.1.1QWidget类
3.1.2QMainWindow类
3.1.3QDialog类
3.1.4更改样式表
3.2基础类
3.2.1坐标点类(QPoint和QPointF)
3.2.2尺寸类(QSize和QSizeF)
3.2.3矩形类(QRect和QRectF)
3.2.4页边距类(QMargins和QMarginsF)
3.2.5图标类(QIcon)
3.2.6字体类(QFont)
3.2.7颜色类(QColor)
3.3标签控件(QLabel)
3.3.1创建标签控件
3.3.2QLabel类的方法和信号
3.4图像类
3.4.1QPixmap类
3.4.2QImage类
3.4.3QPicture类
3.4.4QBitmap类
3.5其他基础类
3.5.1调色板类(QPalette)
3.5.2光标类(QCursor)
3.5.3地址类(QUrl)
3.6典型应用
3.6.1播放动画
3.6.2提示信息
3.7小结
第4章常用控件(上)(210min)
4.1单行文本框(QLineEdit)
4.1.1QLineEdit类的常用方法
4.1.2QLineEdit类的选择文本方法和光标方法
4.1.3QLineEdit类的信号
4.1.4设置文本的固定格式
4.1.5QValidator验证器的用法
4.1.6快捷键
4.2多行文本框(QTextEdit)
4.2.1QTextEdit类的常用方法
4.2.2QTextEdit类的信号
4.2.3文字格式(QTextCharFormat)
4.2.4文本光标(QTextCursor)
4.2.5高亮显示(QSyntaxHighlighter)
4.2.6快捷键
4.3多行纯文本框(QPlainTextEdit)
4.3.1QPlainTextEdit类的常用方法
4.3.2QPlainTextEdit类的信号
4.3.3快捷键
4.4按钮类控件
4.4.1按钮抽象类(QAbstractButton)
4.4.2按压按钮(QPushButton)
4.4.3单选按钮(QRadioButton)
4.4.4复选框控件(QCheckBox)
4.4.5命令连接按钮(QCommandLinkButton)
4.5数字输入控件(QSpinBox/QDoubleSpinBox)
4.5.1QSpinBox类和QDoubleSpinBox类的常用方法
4.5.2QSpinBox类和QDoubleSpinBox类的信号
4.6下拉列表(QComboBox)
4.6.1QComboBox类的常用方法
4.6.2QComboBox类的信号
4.6.3使用Qt Designer创建下拉列表
4.6.4字体下拉列表(QFontComboBox)
4.7小结
第5章布局管理与容器(115min)
5.1布局管理
5.1.1布局管理的基础知识
5.1.2水平布局与垂直布局(QHBoxLayout、QVBoxLayout)
5.1.3栅格布局(QGridLayout)
5.1.4表单布局(QFormLayout)
5.1.5堆叠布局(QStackedLayout)
5.2容器: 装载更多的控件
5.2.1分组框控件
5.2.2框架控件(QFrame)
5.2.3滚动区控件(QScrollArea)
5.2.4切换卡控件(QTabWidget)
5.2.5堆叠控件(QStackedWidget)
5.2.6工具箱控件(QToolBox)
5.2.7单页面容器控件(QAxWidget)
5.3分割器控件(QSplitter)
5.3.1QSplitter类的方法和信号
5.3.2QSplitter类的应用实例
5.4小结
第6章常用控件(中)(226min)
6.1滑动控件与转动控件
6.1.1滚动条控件(QScrollBar)与滑块控件(QSlider)
6.1.2仪表盘控件
6.2日期时间类及其相关控件
6.2.1日历类(QCalendar)与日期类(QDate)
6.2.2日历控件(QCalendarWidget)
6.2.3时间类(QTime)与日期时间类(QDateTime)
6.2.4日期时间控件(QDateEdit、QTimeEdit、QDateTimeEdit)
6.2.5定时器控件(QTimer)
6.2.6液晶显示控件(QLCDNumber)
6.3进度条控件(QProgressBar)
6.3.1QProgressBar类
6.3.2常用方法与信号
6.4网页浏览控件(QWebEngineView)
6.4.1QWebEngineView类
6.4.2常用方法和信号
6.4.3创建一个浏览器
6.4.4网页类(QWebEnginePage)
6.5对话框类控件
6.5.1模式对话框和非模式对话框
6.5.2颜色对话框(QColorDialog)
6.5.3字体对话框(QFontDialog)
6.5.4输入对话框(QInputDialog)
6.5.5文件对话框(QFileDialog)
6.5.6消息对话框(QMessageBox)
6.5.7错误消息对话框(QErrorMessage)
6.5.8进度对话框(QProgressDialog)
6.5.9向导对话框(QWizard)
6.6文本阅读控件(QTextBrowser)
6.6.1方法与信号
6.6.2应用实例
6.7小结
第7章常用控件(下)(64min)
7.1创建菜单与动作
7.1.1菜单栏(QMenuBar)
7.1.2菜单(QMenu)
7.1.3动作(QAction)
7.2工具栏、工具按钮与状态栏
7.2.1工具栏(QToolBar)
7.2.2工具按钮(QToolButton)
7.2.3状态栏(QStatusBar)
7.3多文档区与停靠控件
7.3.1多文档区(QMdiArea)与子窗口(QMdiSubWindow)
7.3.2停靠控件(QDockWidget)
7.4按钮容器(QDialogButtonBox)
7.4.1常用方法与信号
7.4.2应用实例
7.5综合应用
7.5.1创建一个记事本程序
7.5.2创建一个计算器
7.6小结
第8章使用QPainter绘图(132min)
8.1基本绘图类
8.1.1QPainter类
8.1.2钢笔(QPen)
8.1.3画刷(QBrush)
8.1.4渐变色(QGradient)
8.2绘制几何图形与文本
8.2.1绘制几何图形
8.2.2绘制文本
8.3绘图路径(QPainterPath)
8.3.1常用方法
8.3.2应用实例
8.4填充与绘制图像
8.4.1填充
8.4.2绘制图像
8.5裁剪区域(QRegion)
8.5.1设置裁剪区域
8.5.2应用裁剪区域
8.6坐标变换
8.6.1使用QPainter的方法进行坐标系变换
8.6.2使用QTransform进行坐标变换
8.7视口与逻辑窗口
8.7.1视口与逻辑窗口的定义
8.7.2设置方法
8.8图像合成
8.9小结
第四部分
第9章信号/槽、多线程(66min)
9.1信号与槽的介绍
9.1.1基本介绍
9.1.2自定义信号
9.2应用信号/槽
9.2.1内置信号与内置槽函数
9.2.2内置信号与自定义槽函数
9.2.3自定义信号与内置槽函数
9.2.4自定义信号与自定义槽函数
9.2.5装饰器信号与槽函数
9.3多线程
9.3.1创建多线程
9.3.2常用方法与信号
9.3.3应用实例
9.4小结
第10章事件与事件的处理函数(146min)
10.1事件的类型与处理函数
10.1.1事件(QEvent)
10.1.2event()函数
10.1.3常用事件的处理函数
10.2鼠标事件和键盘事件
10.2.1鼠标事件(QMouseEvent)
10.2.2滚轮事件
10.2.3鼠标拖放事件(QDropEvent、QDragMoveEvent、QMimeData)
10.2.4键盘事件(QKeyEvent)
10.3拖曳控件、剪切板和上下文菜单事件
10.3.1拖曳控件(QDrag)
10.3.2剪切板(QClipboard)
10.3.3上下文菜单事件(QContextMenuEvent)
10.4窗口和控件的常用事件
10.4.1显示事件和隐藏事件
10.4.2移动事件和缩放事件
10.4.3绘制事件
10.4.4进入事件和离开事件
10.4.5焦点事件
10.4.6关闭事件
10.4.7定时器事件
10.5事件过滤与自定义事件
10.5.1事件过滤
10.5.2自定义事件
10.6小结
|
內容試閱:
|
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解决实际问题,从而提高能力。
本书主要内容
本书共10章,可分为四部分。
第一部分(第1章),主要讲解PySide6和PyQt6的历史与发展、PySide6编程环境的搭建和学习PySide6的 知识; 使用PySide6创建简单的GUI程序,介绍了信号/槽机制; 此外,介绍了将Python代码转换为可执行文件的方法。
第二部分(第2章),主要讲解应用Qt Designer的方法,包括Qt Designer窗口介绍、窗口界面与业务逻辑相分离的编程方法、设置信号与槽的关联; 此外,介绍了在Qt Designer中设置布局管理、菜单栏、工具栏,以及添加图片的方法。
第三部分(第3~8章),主要讲解PySide6的各种窗口类、基础类、控件类、布局管理类的用法,并介绍使用QPainter类绘图的方法。
第四部分(第9章和第10章),深入讲解PySide6的事件处理方法: 比较高级的信号/槽机制和比较底层的事件处理机制,并介绍多线程的应用方法。
阅读建议
本书是一本基础入门加实战的书籍,既有基础知识,又有丰富的典型案例。这些典型案例贴近工作、学习、生活,应用性强。
建议读者先阅读第一部分,搭建好开发环境,掌握 的基础知识后,应用PySide6编写最简单的GUI程序,在理解了信号/槽机制以后,编写能够处理简单事件的GUI程序。
阅读第二部分需要实际的操作,不仅能使用Qt Designer实践书中的案例,而且可根据开发需求独自设计UI界面,并掌握窗口界面和业务逻辑相分离的编程方法。
第三部分属于比较有规律的部分,介绍了PySide6的各种类的构造函数、方法(包括静态方法、内置槽函数)、信号,以及应用实例。
第四部分属于需要理解的部分,需要理解比较高级的信号/槽机制和比较底层的事件处理机制,在实际开发中应用这两种机制,并能理解和应用多线程处理问题。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
致谢
感谢我的家人、朋友,尤其感谢我的父母,由于你们的辛勤付出,我才可以全身心地投入写作工作。
感谢清华大学出版社赵佳霓编辑,在书稿的出版过程中给我提出了非常多的建议,没有你们的策划和帮助,我难以顺利完成本书。
感谢我的老师、同学,尤其感谢我的导师,在我的求学过程中,你们曾经给我很大的帮助。感谢为本书付出辛勤工作的每个人!
由于作者水平有限,书中难免存在不妥之处,请读者见谅,并提出宝贵意见。
作者2024年1月
|
|