Python 常見GUI框架!

Python 常見GUI框架!

Python 常見GUI框架


資料來源: https://mp.weixin.qq.com/s/JDVfdswTkIHK7hULW-33lg



    ▲PyQt5 [1]:Qt [2]是一個跨平台的C++圖形用戶界面庫。QT一度被諾基亞擁,後出售給芬蘭的軟件公司Digia Oyj。PyQt5是基於Digia公司Qt5的Python接口,由一組Python模塊構成。PyQt5本身擁有超過620個類和6000函數及方法。在可以運行於多個平台,包括:Unix, Windows, and Mac OS。


    ▲Pyside6 [3]:Pyside是QT公司官方提供的Python包,上一版本為Pyside2,對應的是QT5,最新版命名規則進行了調整,更改為Pyside6,對應的是QT6版本。由於官方出品的比較看好,缺點是發布比較晚,網上的資料沒有PyQt5多。


    ▲Tkinter [4]:Python內置的GUI框架,使用TCL實現,Python中內嵌了TCL解釋器,使用它的時候不用安裝額外的擴展包,直接import,跨平台。不足之處在於UI佈局全靠代碼實現,只有15種常用部件,顯示效果簡陋。


    ▲PySimpleGUI [5]:PySimpleGUI 是Tkinter 一層包裝。使用PySimpleGUI 實現自定義GUI 所需的代碼量要比使用Tkinter 直接編寫相同的GUI 要少得多。


    ▲WxPython [6]:wxPython是Python語言對流行的wxWidgets跨平台GUI工具庫的綁定。用得比較廣泛,跨平台,C++編寫,文檔少,用戶可能就需要根據編程內容對不同平台中的GUI代碼做一些調整。遇到問題不好解決,代碼佈局控件,不直觀。


    ▲Wax [7]:基於wxPython ,為克服wxPython的問題而製作的一個包。


    ▲Kivy [8]:主要針對多點觸控程序,智能手機平板等,也可以在沒有觸屏功能的系統上,全平台支持(Windows, Linux, Mac OS X, Android and iOS.)使用Python和cython編寫,中文支持差,需要自己下載中文庫並且制定路徑。


    ▲BeeWare [9]:Write once. Deploy everywhere.需要與Kivy配合使用。


    ▲Toga [10]:一個使用Python開發原生APP的GUI工具包。Toga由一個具有共享接口的基礎組件庫組成,以簡化與平台無關的GUI開發。Toga適用於Mac OS、Windows、Linux(GTK)以及Android和iOS等移動平台。


    ▲Eel [11]:一個輕量的Python 庫,用於製作簡單的類似於Electron(但是比它更輕量) 的離線HTML/JS GUI 應用程序,並具有對Python 功能(capabilities)和庫的完全訪問權限。


    ▲Flexx [12]:一個純Python 工具包,用來創建圖形化界面應用程序。其使用Web 技術進行界面的渲染。你可以用Flexx 來創建桌面應用,同時也可以導出一個應用到獨立的HTML 文檔。因為使用純Python 開發,所以Flexx 是跨平台的。只需要有Python 和瀏覽器就可以運行。


    ▲pywebview [13]是圍繞webview 組件的輕量型跨平台包裝器(wrapper),它允許在其自己的本機GUI 窗口中顯示HTML 內容。它使您可以在桌面應用程序中使用Web 技術,同時盡最大可能隱藏使用瀏覽器構建GUI的事實。


    ▲enaml [14]:一種能夠讓你用最小的努力就可以實現高質量GUI界面的的Python框架,也是一種獨特的編程語言。enaml將聲明性語言與基於約束的佈局系統結合在一起,使用戶可以輕鬆地定義靈活佈局的UI。enaml應用程序可以在任何支持Python和Qt的平台上運行。


個人想法:太多學不完,先學PyQt5,原因是資料多,學有餘力再學pyside6,最後看下PySimpleGUI,看能否解決一些簡單問題。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *