本节讲解如何在最常见的PC操作系统平台上配置PyQt 5开发环境,包括搭建Python 3解释器环境和编程库等。
对于新手来说,独立配置PyQt 5的安装环境是比较困难的,为了减轻读者的负担,笔者为本书封装了可以运行书中所有程序的绿色版的PyQt 5环境,解压缩后即可使用,不会影响系统的默认环境,适合对Python刚入门的新手或不想为本书重新安装一个环境的老手。详细情况和下载地址见笔者的github主页(https://github.com/cxinping/PyQt5)。
本节讲解在Windows下安装并配置PyQt 5开发环境。
安装环境信息如表1-1所示。
表1-1
安装软件如图1-4所示。
由于Python是解释性编程语言,所以需要解释器将源码翻译成机器语言。运行Python需要事先配置好Python环境。
图1-4
目前Python在生产环境中用得比较多的版本是Python 2.7和Python 3.5,这通常会给Python的初学者造成一些困扰,不知道该学习老版本Python 2还是最新版本Python 3。根据笔者的经验,完全不必有这种困扰,只要学会Python 3,再花一点时间学习Python 2的语法,那么Python 2和Python 3就都学会了。Python 2和Python 3只有少量的语法差异,而在软件开发中最重要的是编程思想。
需要注意的是,Python 3不向后兼容,因为从Python 2到Python 3发生了语法的变化。虽然最新版本Python 3发布了很久,但仍然有很多软件包没有升级到最新版本,所以使用第三方Python库时要注意区分不同的版本,避免出现不兼容问题。
访问Python官方网站:https://www.python.org。
因为要使用的是最新版本PyQt 5.9,它要求使用Python 3,所以Python的版本应该在 3.5 及以上,这里使用 Python 3.5.3。在下载页面(https://www.python.org/downloads/windows/)中下载PyQt 5库所需要的Python 3.5.3版本,读者可根据自己使用的平台选择相应的版本进行下载。对于Windows用户来说,如果是32位系统,则选择x86版本;如果是64位系统,则选择x86-64版本。下载完成后,会得到一个以.exe为扩展名的文件,双击该文件进行安装,如图1-5所示。
图1-5
选择自定义安装Python 3.5.3,如图1-6所示。安装路径可以自己决定,笔者的安装路径是E:\installed_software\python35,如图1-7所示。
注意
在安装过程中按照提示一步步操作就行,但安装路径尽量不要带有中文或空格,以避免在使用过程中出现一些莫名的错误。
图1-6
图1-7
安装完成后,可以在“开始”菜单中看到Python 3.5目录,如图1-8所示。
图1-8
打开Python自带的IDLE(Python 3.5 64-bit),就可以编写Python程序了。Python Shell界面如图1-9所示。
图1-9
还需要把Python的安装目录添加到系统环境变量Path中,在桌面上右击“我的电脑”,弹出快捷菜单,选择“属性”→“高级系统设置”→“高级”,单击“环境变量”按钮,如图1-10所示。
图1-10
在系统变量Path中添加变量值:
E:/installed_software/python35;E:/installed_software/python35/Scripts;
注意
E:/installed_software/Python35是笔者在本机上安装Python 3.5.3的位置,读者需要根据自己机器上的实际情况进行修改。
添加变量值成功后,如图1-11所示。
图1-11
现在,我们检验一下Python是否安装成功。按“Win+R”快捷键运行cmd命令,进入DOS模式,如图1-12所示。
图1-12
在命令行输入python,开始启动Python IDLE(Python交互环境),需要几秒钟的时间。启动后,读者就可以看到它的界面中包含了一个交互式终端,也可以看到所安装的Python版本号,如图1-13所示。这时Python的运行环境就安装好了。
图1-13
它的行首显示的 3 个大于号(>>>)是命令提示符,当你看到这个提示符时,就表示解释器正在等待输入命令。下面尝试在命令提示符后输入:
print("hello python")
按回车键,Python就会执行所输入的命令,并在窗口中显示运行结果,如图1-14所示。
也可以把命令行看成计算器来计算表达式的值。把在命令提示符后面输入的每一条命令看成一个程序,命令行每次只运行这个程序中的一行,如图1-15所示。
还可以在命令行中创建变量或导入模块,如图1-16所示。
图1-14
图1-15
图1-16
import命令把Python数学函数库的功能都导入到程序中供你使用。上面的程序使用了变量和赋值运算符(=),其含义是对9开平方根,并把结果赋值给r,最后把结果打印到屏幕上。
可以通过help命令获取某个函数,以及模块的Python功能描述,如图1-17所示。
help("print")
图1-17
如果想退出命令行模式,请按“Ctrl+C”快捷键或输入exit()。
PyQt 5的官方网站是:https://www.riverbankcomputing.com/。截至本书成书之时,PyQt 5的最新版本是5.9。安装PyQt 5有两种方式:既可以下载PyQt 5的最新源码进行编译安装,也可以使用 pip install 进行在线安装。对于初学者来说,通过编译PyQt 5源码的方式进行安装和配置环境比较麻烦,笔者推荐使用pip install命令在线安装PyQt 5,这种“一键式”的安装方式是最简单的,只需要运行一行命令即可。但需要注意的是,Python安装模块使用的镜像默认是国外的,因为网络问题,在国内下载国外的Python模块会比较慢,还经常会下载失败,所以需要使用国内的镜像下载Python模块。比如在下面命令中加上参数“-i https://pypi.douban.com/simple”,就表示使用豆瓣提供的镜像服务。
pip install PyQt5-i https://pypi.douban.com/simple
安装成功后,如图1-18所示。
图1-18
PyQt 5.9不再提供常用的Qt工具,比如图形界面开发工具Qt Designer、国际化翻译工具 Liguist,所以还需要使用如下命令安装常用的Qt工具。
pip install PyQt5-tools-i https://pypi.douban.com/simple
安装成功后,如图1-19所示。
图1-19
使用 pip install 命令安装 PyQt 5、PyQt5-tools 成功后,会在%\python35\Lib\site-packages 目录下看到安装包 PyQt5、pyqt5-tools。笔者的安装目录是E:\installed_software\python35\Lib\site-packages,如图1-20所示。
图1-20
为了让 Windows 系统能够正确识别 PyQt5-tools 的常用命令,还需要把PyQt5-tools的安装目录添加到系统环境变量Path中。在桌面上右键单击“我的电脑”,弹出快捷菜单,选择“属性”→“高级系统设置”→“高级”,单击“环境变量”按钮,在系统变量Path中添加以下变量值,如图1-21所示。
E:/installed_software/python35/Lib/site-packages/pyqt5-tools;
注意
E:/installed_software/python35/Lib/site-packages/pyqt5-tools 是笔者在本机上安装PyQt5-tools的位置,读者需要根据自己机器上的实际情况进行修改。
图1-21
然后,在Windows的命令行窗口中输入path命令,如果一切正常,则会在所返回的Path路径中看到刚才配置的python35和PyQt5-tools的安装路径,如图1-22所示。
图1-22
最后,测试 PyQt 5 环境是否安装成功,文件名为 PyQt5/Chapter01/qt101_testPyQt.py,.py是Python文件的扩展名。其完整代码如下:
import sys
from PyQt5 import QtWidgets,QtCore
app=QtWidgets.QApplication(sys.argv)
widget=QtWidgets.QWidget()
widget.resize(360,360)
widget.setWindowTitle("hello,pyqt5")
widget.show()
sys.exit(app.exec_())
在Windows系统中,双击qt101_testPyQt.py文件,或者在Windows命令行窗口中运行如下命令:
python qt101_testPyQt.py
如果没有报错,弹出如图1-23所示的窗口(Widget)界面,则说明PyQt 5环境安装成功。
图1-23
本节讲解在Mac OS下安装并配置所需的PyQt 5开发环境,包括基于Python3.5开发环境的搭建。在Mac OS下安装PyQt 5环境需要使用Linux命令,比在Windows下安装麻烦些,但只要熟悉安装命令还是很简单的。
在Mac OS平台下需要通过源码来安装PyQt 5。在构建(build)前,必须安装SIP。
安装环境信息如表1-2所示。
表1-2
截至本书成书之时,在Mac OS下最稳定的版本是PyQt 5.9。安装开发环境所需要的软件如图1-24所示。
图1-24
双击app开始安装Qt 5.9.1,如图1-25所示。安装路径可以自定义,笔者的安装路径是/Users/xinping/Qt5.9.1,如图1-26所示。xinping是笔者登录Mac OS系统的用户名,读者需要根据实际情况进行修改。
图1-25
图1-26
接下来,按照默认设置进行操作即可,如1-27所示。
图1-27
单击“继续”按钮,按照提示安装Qt 5.9.1,如果出现如图1-28所示的画面,则说明Qt 5.9.1安装成功。
图1-28
默认选中“Launch Qt Creator”复选框,单击“完成”按钮,就会打开Qt自带的开发工具Qt Creator,通过该工具能够利用Qt这个应用程序框架更加快速地完成开发任务,如图1-29所示。
图1-29
进入下载页面 https://www.python.org/downloads/mac-osx/,选择 Mac 版本的Python 3.5.3,下载安装文件 python-3.5.3-macosx10.6.pkg。双击 pkg 文件开始安装Python 3.5.3,如图1-30所示。
图1-30
安装过程如图1-31、图1-32、图1-33所示。
图1-31
图1-32
图1-33
进入下载页面 https://www.riverbankcomputing.com/software/sip/download,下载安装文件sip-4.19.3.tar.gz。编译并安装步骤如下:
tar xvf sip-4.19.3.tar.gz
cd sip-4.19.3
python3.5 configure.py-d /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
make
make install
进入下载页面 https://riverbankcomputing.com/software/pyqt/download5,下载安装文件PyQt-gpl-5.9.tar.gz。编译并安装步骤如下:
tar xvf PyQt-gpl-5.9.tar.gz
cd PyQt-gpl-5.9
python3.5 configure.py--qmake /Users/xinping/Qt5.9.1/5.9.1/clang_64/
bin/qmake –disable-QtPositioning-d
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-pac
kages
make
sudo make install
--qmake选项用于指定qmake的路径,路径中的用户名是“xinping”,读者需要根据实际情况进行修改。另外,在编译时需要加上编译选项 disable-QtPositioning,否则会出现编译错误。
在Terminal(终端)输入如图1-34所示的代码,如果没有报错,则说明安装成功。
图1-34
在Windows系统下,按“Win+R”快捷键弹出运行窗口,如图1-35所示,输入cmd命令,进入DOS控制台,然后输入python命令,进入Python交互环境,如图1-36
图1-35
图1-36
接下来输入以下脚本,如果运行成功,则说明PyQt 5安装成功。
import PyQt5
如果想要了解PyQt 5所依赖的模块,则可以通过help命令来查看。
help(PyQt5)
PyQt 5所依赖的模块如图1-37所示。
图1-37
安装好Python 3.5后,在实际的开发中,还需要根据业务选择安装其他Python模块。在 python35\Scripts 目录下会看到有许多使用工具,其中 pip 和 easy_install是在线一键安装模块的工具,两者的作用是一样的,pip是easy_install的升级版本,如图1-38所示。
图1-38
下面以安装matplotlib模块为例来进行说明。从Python官网的matplotlib介绍可知,安装这个模块,需要安装许多其他的依赖模块,如 setuptools、numpy、python-dateutil、pytz、pyparsing、cycler等,如果手动一个个去下载这些模块来安装,那就太费力了,所以此时easy_install和pip工具就非常有用了。
使用以下命令来安装matplotlib:
pip install matplotlib
如果一切顺利,matplotlib将安装成功,如图1-39所示。
图1-39
从图1-39可以看到,matplotlib所依赖的各模块都安装好了。
安装好PyQt 5后,如果想知道widget类及其子类有哪些属性和函数,应该如何查看呢?
方法一:通过命令查看PyQt 5类或对象的所有属性。
这里先介绍两个内置函数:dir()和help()。
dir()用来查询一个类或者对象的所有属性。在Python交互环境下输入以下代码:
from PyQt5.QtWidgets import QWidget
dir( QWidget )
QWidget 类是 PyQt 5 的窗口基础类,需要从 PyQt5.QWidgets 包中导入,使用dir()函数打印QWidget对象的属性和函数。返回结果如图1-40所示。
图1-40
help()用来查看类的说明文档。同理,如果要查看 PyQt 5 类的说明文档,则需要在Python交互环境下输入以下代码:
from PyQt5.QtWidgets import QWidget
help( QWidget )
返回结果如图1-41所示。
图1-41
虽然可以通过help()函数在终端查看指定PyQt 5类的帮助信息,但是在输出的帮助信息比较多的情况下,查看就不太方便了,那有没有一种方法可以把帮助信息输出到指定文件中呢?
答案是肯定的,本例文件名为PyQt5/Chapter01/qt102_PrintApi.py,将PyQt 5中的QWidget类的使用手册保存到本地硬盘上。其完整代码如下:
import sys
from PyQt5.QtWidgets import QWidget
out=sys.stdout
sys.stdout=open(r'E:\QWidget.txt' ,'w')
help( QTableWidget )
sys.stdout.close()
sys.stdout=out
运行代码后,打开E盘中的QWidget.txt文件,在这个文件中即可查看QWidget类的详细使用API(Application Programming Interface,应用程序编程接口),如图1-42所示。
方法二:查看在线帮助文档。
如果需要查看PyQt 5的详细介绍,则可以访问在线的PyQt 5说明文档,地址是:http://pyqt.sourceforge.net/Docs/PyQt5/class_reference.html,如图1-43所示。
图1-42
图1-43