[PyQt] PySide2 教程 #1: Python GUI开发,简介 和环境安装

[ ** 系列文章教程为转载,原文博客在国内访问非常不稳定,故转载保存 参考**]

Python一般給人的印象就是黑白的介面,Script的語言只能在醜陋的command line下執行,大部分人的選擇也許會是開發成網頁的方式,有個Web的介面去做溝通。 但也許你和我一樣不懂網頁開發,或是想要開發PC上的GUI視窗化應用程式,這時候就需要一些工具來幫助使Python也能畫出漂亮的圖形介面。

How to Create GUI with Python?

Python有許多的套件可以提供GUI的繪製模組,其中包刮Urwid, tkInter, 與本文的主題Qt,以下來比較一下差異並理解為什麼我們選擇用Qt呢?

  • Urwid : 傳統的Console mode設計方式,可使用的物件不多,且在滑鼠操作的實作上非常困難,同時也是while loop的畫面更新方式,效率低。
  • tkInter : 最悠久的官方套件,是許多人的首選,但在開發上都是純手工,也就是所有的排版、布局都要自己去調整,甚是累人,也有坑很多一說。
  • Qt : 專為GUI應用程式的開發而生的套件,原為C++所開發的Library,而後推出python的library,功能完全復刻幾乎在可以無痛轉換語言。

What’s Great of Qt?

Qt雖然是為開發GUI而生的套件,但又有什麼厲害的呢?

  1. 圖形化開發介面 : 沒錯就想畫圖就開用PS,Qt開發了一套GUI程式,另使用者可以利用簡單的拖拉就完成前端GUI的排版、設計並與後端串接。
  2. 無痛轉換語言 : 如果是Qt原C++的開發者,由於Qt Python的lib索引架構以及物件名稱全都和原生C++一模一樣,在轉換上完全不需要擔心。
  3. 資源豐富 : 比起其他套件的資源不豐富,因為第2點的關係,同時可以搜尋Qt C++以及PyQt的教學,遇到bug時網路上的討論串也更多,減少踩坑的機會。

PyQt vs PySide2, what’s the different

網路上查詢PyQt時,可能會發現同時有兩個不同的套件PyQt以及PySide甚至PySide2,到底差異是什麼呢?

Long story short, pyQt 的開發進度在過去是超前第一代PySide的,但自從PySide2被Qt官方認證為標準Qt+python開發元件後,突飛猛進。 另外,由於是官方認證,在類別以及名稱分類上,甚至不用看pyside document, 直接看Qt C++版本的document也能了然,並使用順暢。

以下在列出幾個比較:

PyQt

  • python 3 only
  • 5.12
  • Official Document: PyQt

PySide2

  • python 3 & python 2(not support Win)
  • currently 5.14 (2020)
  • Official Document: PySide2

本系列將以PySide2為開發工具,已達與官方整合度更高為目的。

Get Start

蛇說:生存,環境很重要

Tools

  1. pyCharm : QtCreator 用久了,比起重學visual studio, 現成的IDE更速成
  2. python 3.5↑ : 肉身測試,跨平台、可用功能在該版本↑ 的python更完整
  3. PySide2 : 5.12 為目前測試最穩定之版本,選用其他版本請挑LTS為佳
  4. QtCreator / QtDesigner : 用作UI的開發,除非你跟我以樣喜歡手刻UI
  5. Mac , Linux : 熟悉cmdline 你將擁有全世界,丟掉Win那廢… 要玩遊戲記得撿回來

Install python3

  1. python 官網下載並安裝相對應的平台以及你喜歡的版本

2. 雙擊安裝…當然不是!身為工程師就該打開readme好好看一下,按照readme.rst內的指令安裝程式。如果選擇的版本有installer也可以直接用圖形介面安裝

3. 確認python3無誤,輸入指令

python3 -V

Install PySide2

使用pip3 安裝PySide2 並選擇你喜歡的版本,如果沒有選擇版本號,將安裝最新版本,可能是5.14之類的

pip3 install PySide2==5.12.6

也可以使用pyCharm 內的UI介面下載PySide2

Install Qt Designer

如果你是原Qt的開發者,那相信已經很熟悉Qt的UI開發了,QtCreator IDE內也已經包含Qt Designer。

如果不是,或是你想我一樣只買了256GB的Mac(好窮嗚嗚)那安裝QtDesigner會省下不少空間,安裝時也輕鬆不少。

  1. Download QtDesigner Installer
  2. Install it!
Qt Designer in Mac

下一篇: 用 Python建立GUI吧!

如果你可以上谷歌,也可以上原文,不过可能加载速度比较慢有时候也会500错误:https://medium.com/bucketing/pyside2-pyqt-tutorial-3c2be590bc6a