背景
最近的一個項目中,需要在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已經成功安裝