iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 26
0
自我挑戰組

30天學會Python系列 第 26

Python - GUI套件、PyQt

GUI

GUI(Graphic User Interface),就是圖形使用者介面,指的是以圖形的方式顯示電腦與使用者的操作介面,與傳統的命令列介面比起來更為直觀,使用者更易於輕鬆上手,最近在寫Python,剛好用到一些GUI的庫,分享一下個人用過Tkinter、PyQt、PySide

Tkinter

是Python內建的標準函式庫,不需要另外安裝任何套件即可使用,如果只是要寫一些簡單的介面可以考慮

PyQt、PySide

兩者基本上系出同門,都是將Qt包裝的Python API(Qt是一個跨平台的C++應用程式開發框架。廣泛用於開發GUI程式),可以讓我們用Python開發Qt應用程式,如果要開發完整的應用程式推薦使用PyQt或PySide

PyQt、PySide的功能比較完整,更有Qt獨特的信號與信號槽機制,也有完整的官方文件,兩者最大的差別在於授權協議

差異

PyQt使用GPLv3協議,因為GPL的關係,如果要商用就必須購買授權,PyQt當初由Riverbank Computing公司開發,較PySide出現時間早,資料也較多

PySide使用LGPL協議,LGPL就是個商用友好的協議,較PyQt晚出現,但是是Qt的親兒子(當年Nokia公司與RiverBank談不攏一氣之下自己做PySide專案,沒錯就是那個Nokia),由於比較晚出現的關係,許多文檔還不太完整

PyQt與PySide詳細差別在這裡

版本

PyQt最新版本為PyQt5,PySide則是更新為PySide2,兩者新版都支援Qt5,PySide在Github上的專案已經被放棄維護,官方建議使用PySide2,PySide2的LPGL代表著未來,PySide2的發展指日可期


上一篇
Python - 檔案讀寫
下一篇
Python - GUI套件(2)、PyQt、Qt Designer、pyuic工具
系列文
30天學會Python30

尚未有邦友留言

立即登入留言