内容提要
PyQt是一个创建GUI应用程序的工具包,是Python编程语言和Qt库的成功融合。本书旨在通过深入浅出的讲解和简明的程序示例教读者掌握PyQt的开发技巧。
本书分为10章,从PyQt的安装和基础知识讲起,陆续介绍了基础控件(如标签控件、消息框、文本框、按钮及控件等)、高级控件(如组合框、滚动条、容器控件及各类视图等)、窗口(如属性、坐标、事件等)、Qt Designer(如安装与配置、编辑模式等)、PyQt高级应用(如数据库、多线程、动画、音视频、网页交互等)、图形视图框架(如图元、场景、视图、事件传递等)、打包(如PyInstaller、Nuitka等)等内容。此外,本书还通过两个开发实例(可视化爬虫软件和《经典贪吃蛇》游戏)带领读者巩固了书中介绍的相关知识点。
本书内容简洁实用、实操性强,适合对Python编程及GUI开发感兴趣的读者阅读。本书有配套的读者交流群(QQ群:747114397),为大家答疑解惑。
前言
为什么写这本书
如果说要快速开发一个桌面程序,我首先想到的开发工具就是Python + PyQt,理由很明确:开发速度快、功能强大而且界面美观。PyQt提供了丰富的类和函数,能够让我们快速实现各种各样的功能。它是一个跨平台的工具包,几乎可以运行在所有主流的操作系统上,包括Windows、Linux和macOS。PyQt不仅拥有Qt的强大功能,而且在开发速度上至少比用Qt开发快一倍。PyQt绝对是GUI桌面程序开发的一件“神器”!
我是在2017年首次接触PyQt的,当时觉得开发桌面程序非常有意思,而且能够给自己做一些小工具,成就感满满。之后我开始系统地查阅并学习有关PyQt的知识,当时的资料还是非常少的,所以学习之路异常艰辛。2019年,我决定开始在博客上写一些关于PyQt的文章,分享我对PyQt的理解。在写这些文章的同时,我对PyQt的理解更加深入,使用它也更加顺手。之后博客的浏览量逐渐增加,文章得到了很多读者的反馈与肯定,这让我对PyQt的感情更深了,我开始更加坚定地使用和推广PyQt。
我会在本书中分享自己所知道的有关PyQt的知识和经验,让读者能够快速入门PyQt并且掌握其开发技巧,也希望在看本书的你能够和我一样领略PyQt的魅力!学完并掌握本书知识点后,你就能上手开发各式各样的桌面程序了。
本书内容
本书共10章,章节内容和顺序经过精心设计,力求能让读者循序渐进地掌握PyQt开发的基础知识和技巧。各章内容概要如下。
第1章介绍PyQt的安装方法,解释PyQt的程序入口代码,并对布局管理器、信号和槽机制进行详细的讲解。另外还会教大家如何使用在线文档。
第2章介绍在编写PyQt程序时经常会用到的基础控件,针对每一个控件,结合实例进行讲解。
第3章介绍PyQt中的高级控件,让大家进一步了解PyQt,从而编写出功能强大的桌面程序。
第4章深入介绍窗口的各种属性和事件函数的用法,还会介绍主窗口类QMainWindow的用法。
第5章介绍使用Qt Designer快速设计界面。
第6章涉及许多高级功能,例如在PyQt中使用数据库,编写多线程代码来处理复杂耗时的程序逻辑,以及使用QSS来美化自己设计的程序界面等。
第7章介绍图形视图框架的基础知识及其用法。
第8章介绍PyInstaller和Nuitka的实战打包技巧,带领读者一起解决常见的打包问题。
第9章介绍用PyQt开发一款可视化爬虫软件,详细介绍如何将界面和爬虫代码结合起来。
第10章介绍用PyQt开发一款《经典贪吃蛇》游戏,帮助读者巩固学到的图形视图框架知识。
代码阅读约定
读者在阅读书中代码时,会看到一些带有编号的注释,笔者会在代码解释部分讲解这些注释所指向的代码行或代码片段。下面举一个例子。