背景
最近的一个项目中,需要在Mac系统下开发桌面应用,网上大概搜索了下Mac的APP开发,发现Mac提供的原生开发环境是基于Xcode的C++编程,这对于不熟悉C++以及Xcode的开发者来说,无疑需要较大的学习成本,一时半会估计比较难鼓捣出个成果来。
在PC时代,主流的操作系统有windows、mac、linux,有些产品为了能节约开发时间以及保证产品在这三个平台的一致性,会选取一些跨平台的技术进行桌面应用的开发,也就是"Write Once Run Anyway"。常用的的跨平台GUI有Qt、 Java Swing等,其中Qt还有python的版本PyQt,开发者可通过python来调用Qt强大的图形库,脚本语言相对C++、Java等编译型语言来说,难度会小很多,因此我们决定采用PyQt来进行Mac应用的开发。下面对整个环境的搭建做一个简单的记录。
PyQt简介
PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt是由Phil Thompson 开发。PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。
环境搭建过程
1、下载Qt For Mac安装包
可自行到官网下载,下载前需要注册,我这边下载的版本是:qt-opensource-mac-x64-clang-5.8.0.dmg,下载完成后直接双击安装即可,安装过程比较漫长,需要耐心等待,安装完成后,我们需要设置Qt的qmake到环境变量,用于后续的PyQt库生成,在~/.bash_profile文件中加入环境变量
export QT_HOME=/qt_install_dir/Qt5.8.0/5.8/clang_64
export PATH=$PATH:$QT_HOME/bin
2、下载PyQt
PyQt可到 https://riverbankcomputing.com/software/pyqt/download5/下载,我下载的是最新的PyQt5_gpl-5.7.1,下载完成后解压;
3、安装SIP
SIP是一种Python工具,用于自动生成Python与C、C++库的绑定。我们需要使用SIP来生成PyQt的python库。Mac系统下我们可以用brew直接安装SIP,输入命令
brew install sip
4、安装Python3
为什么会使用Python3?原因是使用SIP工具生成PyQt到Python系统库的时候,新版Mac OS已经收回自带python库路径的写入权限,无奈,只能自行安装Python3,才能完成PyQt库的生成。Python3的安装也很简单,直接到Python官网下载安装即可https://www.python.org/downloads/
5、生成PyQt库
进入到第二步我们下载解压的pyqt目录下,执行命令
python3 configure.py
随后继续执行命令
make&&makeinstall
至此,我们已经完成PyQt的环境搭建,我们可以进入PyQt的example/qtdemo目录,执行命令来测试PyQt是否安装成功
python3 qtdemo.py
如果出现下面的demo界面,说明PyQt已经成功安装