以 Python 開發 GUI 應用

Qt or Not Qt

Python 不光是可用來作為深度學習相關應用的平台語言. 許多進入 Python 世界的同好者, 很可能因為機器/深度學習專案需要或是學習資料處理時, 不得不了解它. 而且很多人光是利用 Jupyter Notebook 也很順利完成工作了. 很多人不需要太深入了解 該語言 諸如 module, package, 或 Class 的細節, 就可以勝任眼下任務.

Python 也很適合用來 Web Application 或是 GUI 開發的語言, 雖然其效能相比其他語言不見得有優勢, 但如果考慮一個專案團隊如果要完成的是機器或是深度學習的專案, 再不擴展成員的技能集下, 又需要滿足客戶 GUI 的需求的話, 利用 Python 來開發Web Application 或是 GUI 應當是可選項.

Python 開發GUI主要有幾個方式來達成:

  • Tkinter

  • Qt5

    • PyQt5

    • PySide2

  • Qt6

    • PyQt6

    • PySide6

  • Kivy

  • WxPython

各有擅長與優勢, 攏統講如果要開發較為複雜的, 能運行於 Windows/Linux/Mac OS 的 GUI 應用, 選 Qt. 至於 Qt5 或 Qt6 新舊版本何者合適, 主要是 Qt5較多資源可以參考, 但是要將Qt5改為Qt6, 也很簡易. 所以我個人原先是採 Qt5+PyQt5, 直接改為 Qt6+PySide6 有遇到一點語法相容的小問題, 容易解.

以下分享一些以 PySide6 開發 Python Qt GUI經驗.