作為
Pyhon開發人員,我們遲早都會碰到
圖形化使用者介面(
GUI)應用
開發任務,目前市場上有大量
Python GUI開發架構可供選擇,
Python wiki GUI programming給出了超過30個跨平台架構方案,包括Pyjamas這樣的跨瀏覽器web開發架構。
如何從眾多的Python GUI架構和工具包中進行選擇是個頭疼的問題,以下php中文網整理推薦四個開發套件(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應用開發圖形化使用者介面。
下面,是另外四個關於Python GUI的開發架構
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。
以上,就是本文所講解的,關於Python GUI開發架構的知識點。