作為Pyhon開發者,你遲早都會碰到圖形用戶界面(GUI)應用開發任務,目前市場上有大量Python GUI開發框架可供選擇,Python wiki GUI programming給出了超過30個跨平臺框架方案,包括Pyjamas這樣的跨瀏覽器web開發框架。
如何從眾多的Python GUI框架和工具包中進行選擇是個頭疼的問題,以下IT經理網整理推薦四個開發工具包(Gtk、Qt、Tk和wxwidgets)以及七個優秀框架供廣大開發者參考(除了PyQt其他都完全免費):
Kivy
這是一個非常有趣的項目,基于OpenGL ES 2,支持Android和iOS平臺的原生多點觸摸,作為事件驅動的框架,Kivy非常適合游戲開發,非常適合處理從widgets到動畫的任務。如果你想開發跨平臺的圖形應用,或者僅僅是需要一個強大的跨平臺圖形用戶開發框架,Kivy都是不錯的選擇。
Pyforms
誕生只有兩年的Pyforms是一個Python2.7/3.x跨環境圖形應用開發框架,模塊化和代碼復用可以節省大量工作。
PyGObject(PyGi)
PyGObject是一個利用GTK+為GNOME或Python應用開發的組件,可與跨平臺代碼庫GObject綁定。GTK+是一個功能全面的免費跨平臺widget開發工具包,為大量Linux和Windows/Mac OSX應用開發圖形用戶界面。
PyQt
Qt是一個C++編寫的跨平臺開發框架,如果你的應用是完全開源的,就可以免費使用Qt,否則你需要購買商業許可。Qt已經存在很久,一度屬于諾基亞公司,作為一個非常全面的工具代碼庫和API,被大量行業廣泛采用,覆蓋包括移動在內的多個平臺。你的設備中使用的衛星導航應用,其圖形用戶界面往往就是Qt開發的。
PyGUI
與Kivy和PyQt相比,PyGUI的最大區別是僅僅面向UNIX、Macintosh和Windows平臺。PyGUI的一個主要目的就是盡量減少Python應用與平臺底層GUI之間的代碼量,如果你需要一個簡單快速容易上手的GUI開發框架,那么PyGUI是一個不錯的選擇。
libavg
libavg是一個C++編寫的第三方開源庫,可以運行在Linux、Mac OS X和Windows平臺上。libavg被官方應用于藝術性較強的展示應用,可以同時處理數以千計的多媒體對象(圖片、文本、視頻和攝像頭數據)。那些大屏幕上展示的多人共玩的多點觸摸游戲,八成都有libavg的功勞。
wxPython
雖然還沒有為Python3做好準備,但是作為資格最老,最流行的Python GUI開發框架之一,wxPython名氣很大,不得不提。wxPython基于wxWidgets,是一個C++編寫的跨平臺GUI庫,除了標準的對話框,還提供一個2D路徑繪制API,支持多種文件格式以及文本編輯和字處理widgets。