Python界面開發(fā)庫大全
curses
內(nèi)建的 ncurses 封裝,用來創(chuàng)建終端圖形用戶界面。curses 庫為基于文本的終端提供了獨立于終端的屏幕繪制和鍵盤處理功能,在普遍使用圖形顯示界面的現(xiàn)在,在一些小眾市場,例如嵌入式Unix上能做出交互式更優(yōu)雅的終端也是非常nice的。
enaml
enaml是一種能夠讓你用最小的努力就可以實現(xiàn)高質(zhì)量GUI界面的的Python框架,也是一種獨特的編程語言。
enaml將聲明性語言與基于約束的布局系統(tǒng)結(jié)合在一起,使用戶可以輕松地定義靈活布局的UI。enaml應(yīng)用程序可以在任何支持Python和Qt的平臺上運行。
enaml具有如下特性:
- 一種具有Python風(fēng)格的聲明性編程語言
- 數(shù)十個小部件都可以直接在Qt上構(gòu)建
- 基于約束的布局引擎(基于Kiwi構(gòu)建)
- 與數(shù)據(jù)模型工具(基于Atom構(gòu)建)集成
kivy
Kivy 是一個開源的 Python 框架,用于快速開發(fā)應(yīng)用,實現(xiàn)各種當(dāng)前流行的用戶界面,比如多點觸摸等等。
Kivy 可以運行于 Windows, Linux, MacOS, Android, iOS 等當(dāng)前絕大部分主流桌面/移動端操作系統(tǒng)。
Kivy 基于 Python,界面文件和程序文件相互分離的設(shè)計思路,設(shè)計簡潔優(yōu)雅,語法易學(xué),適合新人入門。
pyglet
一個 Python 的跨平臺窗口及多媒體庫,可以進行游戲開發(fā)、音視頻處理等,比pygame更輕量一些。
PyQt
跨平臺用戶界面框架 Qt 的 Python 綁定 ,支持 Qt v4 和 Qt v5,這是老牌的界面設(shè)計庫了。
PySide
PySide和PyQt的區(qū)別,前者是Qt公司的產(chǎn)品,后者是第三方公司的產(chǎn)品,二者用法基本相同,不過在使用協(xié)議上卻有很大差別,PySide可以在LGPL協(xié)議下使用,PyQt則在GPL協(xié)議下使用
Tkinter
Tkinter 是 Python GUI 的一個內(nèi)置的GUI標準庫,其語法簡單易學(xué),適合初學(xué)者練手。
Toga
一個 Python 原生的,操作系統(tǒng)原生的 GUI 工具包。
urwid
一個用來創(chuàng)建終端 GUI 應(yīng)用的庫,支持組件,事件和豐富的色彩等。
wxPython
wxPython是一個用C ++編寫的適用于Python的跨平臺GUI工具包,它讓Python程序員們能夠簡單、輕松地創(chuàng)建功能強大的圖形用戶界面的程序。它目前支持的平臺包括Microsoft Windows、Mac OS X和macOS,以及Linux或其他具有GTK2或GTK3庫的類unix系統(tǒng)。
PyGObject
PyGObject是一個Python包,它為基于GObject的庫(如GTK、GStreamer、WebKitGTK、GLib、GIO等)提供綁定。這些庫可以支持 GTK+3 圖形界面工具集,因此時 GObject 提供了豐富的圖形界面組件。它支持Linux、Windows和macOS。
Flexx
Flexx 是一個純 Python 語言編寫的用來創(chuàng)建 GUI 程序的工具集,它使用 web 技術(shù)進行界面的展示。應(yīng)用程序完全用Python編寫,PScript轉(zhuǎn)譯器動態(tài)生成必要的JavaScript??梢允褂肍lexx創(chuàng)建(跨平臺)桌面應(yīng)用程序,web應(yīng)用程序,并將應(yīng)用程序?qū)С龅姜毩⒌腍TML文檔。
Eel
Eel 是一個輕量的 Python 庫,用于制作簡單的類似于 Electron(但是比它更輕量) 的離線 HTML/JS GUI 應(yīng)用程序,并具有對 Python 功能(capabilities)和庫的完全訪問權(quán)限。
Eel 托管一個本地 Web 服務(wù)器,然后允許您使用 Python 注釋函數(shù)(annotate functions),以便可以從 JavaScript 調(diào)用它們,反之亦然。
PySimpleGUI
它是對tkinter,Qt,WxPython 和 Remi 的封裝,通過實現(xiàn)大部分“樣板代碼”比直接使用底層框架編寫更簡單、更短??疵志椭?,易于使用,但是美觀方面不是特別好。
pywebview
pywebview 是一個包含有 WebView 組件的輕量級跨平臺應(yīng)用容器,可以在原生GUI的窗口中顯示HTML內(nèi)容。脫離于瀏覽器在桌面應(yīng)用程序中應(yīng)用 Web 技術(shù)的強大功能,隱藏了 GUI 基于瀏覽器的事實。您可以在 pywebview 中使用像 Flask 或 Bottle 這樣的輕量級 Web 框架,也可以單獨使用 Python 和 DOM 之間的雙向橋接。
DearPyGui
Dear PyGui是一個簡單易用(但功能強大)的Python GUI框架。它不是一般意義上的Dear ImGui的包裝,而是一個用Dear ImGui構(gòu)建的庫,它模擬了傳統(tǒng)的保留模式GUI(相對于Dear ImGui的直接模式范例)。Dear PyGui與其他Python GUI的框架也有著根本的不同。在后臺,Dear PyGui使用即時模式范例和你的計算機的GPU來促進極其動態(tài)的接口。Dear PyGui目前支持以下平臺:Windows 10,macOs,Linux,Raspberry Pi 4。
EasyGUI
EasyGUI是一個用Python進行的非常簡單、非常容易的GUI編程模塊。它不同于其他GUI庫,因為EasyGUI不是事件驅(qū)動的,相反,它所有的GUI交互都是通過簡單的函數(shù)調(diào)用調(diào)用的,不要求程序員了解任何關(guān)于tkinter、框架、小部件、回調(diào)或lambda的信息。