前言
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月