之前一直用Qt寫C++,最近想玩玩Python,參考了好幾個教程,每個教程都有點坑。于是自己整理了下可能會碰到的問題,方便其他想用PyQt5 (GPL) 的小伙伴吧。如果想用PySide2 (LGPL) 過程也基本類似,就把PyQt5的相關內容替換下就行。
Python安裝
Python主程序安裝
單個版本Python
Python官網下載地址,目前最新的是Python3.7,我用的是Python3.6,沒用最新的主要是擔心PyQt那邊沒更新
多個版本Python
有的小伙伴可能需要安裝多個版本的Python,在Linux和Mac上可能需要啥管理工具啥的,具體可以看看Python版本管理。如果你是Windows,直接安裝就可以了,具體要用哪個版本的Python只要加上對應的環境變量即可。
也不用裝什么版本管理工具,就是這么簡單。還有也可以通過命令行切換Python版本,但是敲命令行有時候老是忘記,不折騰自己了,可以了解下。
給Python添加鏡像源
不管是用npm還是pip等包管理工具的時候,國內最好都是換下相關的鏡像源,要不然你就只能龜速下載了...
可用鏡像源
清華:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中國科技大學:https://pypi.mirrors.ustc.edu.cn/simple/
華中理工大學:http://pypi.hustunique.com/
山東理工大學:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
添加pip.ini
在C:\Users\Administrator
下新建一個pip
文件夾,在文件夾中新建一個pip.ini文件:
在pip.ini中添加以下內容,之后再用pip下載包就可以體驗飛速下載了:
PyQt5安裝
環境變量加上了Python對應的文件夾后,就可以通過pip安裝PyQt5。默認安裝最新的版本,在命令行輸入:
pip install PyQt5
如果需要安裝指定版本的QyQt5,改成輸入:
pip install PyQt5==5.10.1
界面工具安裝
PyQt5只用到了Qt的designer.exe,這是用來設計界面的一個工具,生成的界面文件是.ui的,PyQt5的作用就是把這個ui文件轉換成py文件。
pyqt5-tools
PyQt5有對應的這個工具,包含designer.exe。但是官方只更新到了Qt5.9的,而且我也裝有Qt,就不考慮此方案了。
Qt安裝
安裝哪個版本基本上都沒啥差別,只要有designer.exe,可以生成ui文件就行。附上Qt下載地址。
Pycharm安裝
這個公司有很多IDE都挺好用的,而且還有一個非常好的福利,對于有教育郵箱的用戶,可以免費使用一年。附上通過教育郵箱激活Pycharm。
Pycharm配置
打開Pycharm,Files->Settings->External Tools,添加兩個tools,Qt Designer、PyUIC:
-
Programs:
的地方找到你自己的designer.exe所在的位置 -
Working directory:
的地方填上$ProjectFileDir$
(填$FileDir$
好像也行)。
-
Programs:
的地方找到你自己的python.exe所在的位置 -
Arguments:
的地方填上-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
-
Working directory:
的地方填上$FileDir$
Hello World
環境搭建好了,來實際編寫一個項目試試
新建Python項目
這里注意,上面的New environment using是在項目下添加一個Python的環境,如果要使用PyQt5的話要將底下兩個勾選框勾上;也可以使用自己本地的Python,就選擇底下的Existing interpreter,指定Python.exe位置即可。
創建ui文件
按照圖示選擇Qt Designer就會啟動Qt的designer.exe了,你也可以直接到Qt的目錄下運行程序。然后就是愉快的拖控件時間:
界面設計完畢,將ui文件保存到Python工程所在的目錄下即可,PyCharm中的項目可以看到對應的ui文件。
ui文件生成py文件
在ui文件上點擊右鍵,External Tools->PyUIC,就能生成對應的py文件了:
添加main.py
給程序添加一個入口,在工程目錄下新建一個main.py,在其中添加代碼:
import sys
import HelloWorld
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = HelloWorld.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
運行
在main.py中,點擊右鍵->Run main,即可運行程序。
總結
搭建PyQt5的相關環境其實也不復雜,這其中有很多可以根據自己的環境修改的地方,比如:
- 你需要用PySide2,就換掉PyQt5的內容
- 你有Qt的話,就不用再額外安裝designer.exe
- IDE也不一定用PyCharm,你用VS2017寫Python也行