PyQT 起步走
Qt5 是一個跨平台的應用程式製作框架,由於是基於C++語言,因此早期(Qt5之前的版本)大部分使用Visual Studio C++與Qt tools 搭配使用,或是直接使用Qt creator 製作C++ 應用程式。
對於C++不熟悉的人來說,要直接裸幹C++ GUI會有點太硬,但python本身的UI框架(Tkinter)又太過陽春,好在現在已經有PyQt5的框架可以使用了~
Qt5的文檔介紹可參考 https://www.qt.io/
但首先我們要先下載Qt5 ,可以在官網下載。
另外python的開發框架這裡不介紹,但筆者是使用Anaconda Spyder 開發,稍後會以此平台做介紹。
Anaconda Pyqt 架設
使用 Anaconda架設環境非常簡單。
如下圖:
創建一個新環境(create),並安裝好pyqt5與pyqtgraph套件
理論上安裝好上述套件後,應該會一併安裝好一個重要程式: pyuic5.exe,這個程式能幫助我們將Qt製作的ui file 編譯成 python檔案。
Qt creator
Qt creator 是Qt 安裝後自帶的程式設計工具,基本上,我們會使用內涵的Qt designer 做UI設計,如下圖:
我們先依循以下步驟來完成上圖的UI布建
1. 創建 Qt Designer Form
File -> new File or Project -> Qt分組 -> Qt Designer Form -> choose
->Widgets -> 一路Next...
2. 設計UI
從Qt Designer 左側元件面板依序拉進button 與 label,隨意設計(右下屬性編輯器)它的外觀。
3. 存檔為formHello
在Qt Designer存檔的檔案為ui file 可以打開來看,其實就是XML格式的檔案。
ui檔到py檔
接著我們要使用pyuic5.exe來幫我們將ui檔轉成py檔。"合理"的流程只有兩個動作:
1. 打開Anaconda Prompt
2. 到存ui檔的位置輸入: pyuic5 -o ui_formHello.py formHello.ui
如果這樣就順利,那恭喜你,因為我沒有這麼順利 :((
來試試另外一個做法?
1. 下載windows pyrhon IDLE (相當於放棄Anaconda)
2. 開啟命令提示字元: pip3 install PyQt5
3. 到存ui檔的位置輸入: pyuic5 -o ui_formHello.py formHello.ui
#補充windows cmd下切換路徑: cd /d 完整路徑
還是不行?
看看錯誤訊息吧...
錯誤排除
pyuic5 不是內部或外部命令、可執行的程式或批次檔。
這個問題是由於在系統環境中沒有找到 pyuic5.exe
參考網站: https://alex9ufoexploer.blogspot.com/2017/10/python-pip.html
用類似的概念先找到pyuic5.exe,並手動加入到windows環境變數
搜尋並打開"編輯系統環境變數",在系統變數下的Path點選編輯,手動加入pyuic5.exe所在的路徑
接著同樣到存ui檔的位置輸入: pyuic5 -o ui_formHello.py formHello.ui
看看是否可行,如果沒有運作,可能會出現以下訊息~
PyQt5 ImportError:DLL load failed
參考網站: https://blog.csdn.net/iMotherBoard/article/details/94043102
推測可能是套件版本衝突?
但這個問題在我回到用Anaconda Prompt下執行pyuic5 就成功解決
烏龍一場?
上述錯誤問題有可能是般本錯誤或是環境錯誤綜合的成果
可以試著在打開Anaconda Prompt時,先確認環境是否為安裝Pyqt的環境?
切換環境方式為:
conda activate Qt
並在正確的環境下執行pyuic5看看
第一個應用程式
打開我們的spyder來編輯一下我們的程式~
接著梳洗下代碼:
接著執行一下~大功告成!!!