PyQT 起步走

2021-06-05

 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來編輯一下我們的程式~

接著梳洗下代碼:

接著執行一下~大功告成!!!

Miller : hhjoy222@gmail.com
Webnode 提供技術支援
免費建立您的網站! 此網站是在 Webnode 上建立的。今天開始免費建立您的個人網站 立即開始