前言
最近接手一个工作项目,需要用python开发,用Qt做界面,这对我来说很又意思,因为对于一直习惯于在IDE下用C++开发的我来说,从来没这么混搭干过。貌无疑问,C++才是Qt是原生开发语言,不过对于像Qt这样被广泛使用的图像库来说,肯定是提供了多种其他语言支持的库了的,在python中就是PyQt了。
实际上开发的过程并没有什么特殊的,但是环境的搭建却需要注意一下。原因是:
- 第一,python自身有两个版本的分支,并不是所有的库都支持这两个版本
- 第二,Qt虽然没有版本分支,但是目前老版本Qt4和新版本Qt5都使用的比较多,需要注意二者之间的差异
- 第三,python是解释型语言,开发的程序要到其他的机器上去执行,需要对其进行打包,将python脚本转化Windows通用的exe可执行程序。
下面我们就将对以上这几个问题进行说明。
环境的搭建
Python版本
python版本的不同决定了你使用PyQt库版本的不同,目前官方PyQt5只支持python3,而python2的版本只能乖乖的使用QtPy4的版本了,如果像在python2上使用PyQt5能够就只能找非官方的发布或者自己编译了,这个成本就有点大了。
另外,python第三方库相互之间的依赖也是意见很烦人的事情,为了避免麻烦,我自己是安装的python的发布包。WinPython和Anaconda。
PyQt使用
上面说过不同版本的python对PyQt的支持情况。所以我目前的两个安装环境如下:
- 公司:WinPython3 + PyQt5
- 个人:Anaconda2 + PyQt4
实际上以上这两个发布包中都有自带的PyQt库,已经不需要手动再安装了。而一个使用WinPython3,另一个使用Anaconda2的原因,仅仅是因为工作需要和个人习惯而已(一直以来我都是用的Anaconda发布的python2.7的版本)。
另外需要说明的是在WinPython3中自带Qt Designer,可以方便ui的布局设计,但是Anaconda2中却没有,所以为了在我自己的电脑上使用Qt Designer,我不得不自己安装一个原装Qt,使用原装Qt提供的Qt Designer来设计.ui文件。
python程序的打包
Python程序的打包也是一个比较麻烦的东西,通常有两个打包工具:py2exe和pyinstall,这个我会放在后面单独说明。