python Gui開發工具選擇


Python最大的特點就在於她的快速開發功能。作為一種膠水型語言,python幾乎可以滲透在我們編程過程中的各個領域。這里我簡單介紹一下用python進行gui開發的一些選擇。

 1.Tkinter

  Tkinter 似乎是與tcl語言同時發展起來的一種界面庫。tkinter是python的配備的標准gui庫,也是opensource的產物。Tkinter可用於windows/linux/unix/macintosh操作系統,而且顯示風格是本地化的。Tkinter用起來非常簡單,python自帶的 IDLE就是采用它寫的。除此外,tkinter的擴展集pmw和Tix功能上都要相對它強大,但tkinter卻是最基本的。我認為,在用python 做gui開發,tkinter是最基本的知識,所以這個環節是必須要學習的。你或許在以后的開發中並不常用tkinter,但是一些小型的應用上面,他還是很有用的,而且開發速度也很快。

 2.WxPython

  WxWidgets應該算是近幾年了比較流行的GUI跨平台開發技術了。 wxWidgets有不同的版本應用,有c++的,也有basic的,現在在python上面也有較好的移植。wxpython的功能上面要強於 tkinter,她提供了超過200個類,面向對象的編程風格,設計的框架類似於MFC。對於大型GUI應用上面,wxPython還是具有很強的優勢的。boa constructor可以幫助我們快速可視地構建wxwidgets界面。

3.PyQT

  Qt同樣是一種開源的GUI庫,Qt的類庫大約在300多個,函數大約在5700多個。Qt同樣適合於大型應用,由它自帶的qt designer可以讓我們輕松來構建界面元素。

4.pyGtk

  https://www.oschina.net/p/pygtk

  PyGTK讓你用Python輕松創建具有圖形用戶界面的程序.底層的GTK 提供了各式的可視元素和功能,如果需要,你能開發在GNOME桌面系統運行的功能完整的軟件.

  PyGTK真正具有跨平台性,它能不加修改地,穩定運行各種操作系統之上,如Linux,Windows,MacOS等.除了簡單易用和快速的原型開發能力外,PyGTK還有一流的處理本地化語言的獨特功能.

5.Jython

  嘗試過用python訪問java類庫嗎,那么就用jython吧。jython其實可以認為是另外一個python開發環境,基於java的,但是大多數的CPython調用jython下還是可以的。你可以在jython環境下像使用java一樣來通過python的語法來調用java語言,真的很酷。

6.MFC

  Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發win32應用。代碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那么這就是一個不錯的選擇。

7.PythonCard

  PythonCard其實是對wxPython的再封裝。不過封裝的更加簡單,使用起來覺得比wxPython更直觀,也更簡單化了。

8.Dabo

  仍是一個基於wxpython的再封裝庫,沒用過,不太了解。它提供數據庫訪問,商業邏輯以及用戶界面。

9.AnyGui

  通過底層的api來訪問其它工具集,像tkinter,wxpython和qt.具體也沒怎么用過。

10.WPY

  MFC風格的Gui開發庫,代碼風格也類似於MFC,僅管如此,你依舊可以使用這個庫來開發GUI應用,而不用擔心平台移植的問題。她同樣是一個跨平台的庫。

11.IronPython

  如果你要想開發.net下面的應用的話,那么IronPython就是你的選擇,與jython有點類似,他同樣支持標准的python模塊,但同樣增加了對.net庫的支持。你也可以理解為他是另一個python開發環境。你可以非常方便地使用python語法進行.net應用的開發,這一點聽起來真的挺有意思。

12 Python 的 UI 開發工具包 Kivy

  https://www.oschina.net/p/kivy  

  Kivy是一個開源工具包能夠讓使用相同源代碼創建的程序能跨平台運行。它主要關注創新型用戶界面開發,如:多點觸摸應用程序。Kivy還提供一個多點觸摸鼠標模擬器。當前支持的平台包括:Linux、Windows、Mac OS X和Android。

  Kivy擁有能夠處理動畫、緩存、手勢、繪圖等功能。它還內置許多用戶界面控件如:按紐、攝影機、表格、Slider和樹形控件等。

13 Python 的 GUI 開發工具 Flexx

  https://www.oschina.net/p/flexx

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

14 Pywin32

  https://www.oschina.net/p/pywin32

  Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發win32應用。代碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那么這就是一個不錯的選擇。

15 用python快速開發絢麗桌面程序 pyui4win

  https://www.oschina.net/p/py-ui4win

  pyui4win是一個開源的采用自繪技術的界面庫。支持C 和python。用它可以很容易實現QQ和360安全衛士這樣的絢麗界面。而且,pyui4win有所見即所得界面設計器,讓C 開發人員和python開發人員直接用
設計工具設計界面,而不用關心界面如何生成和運行,可以顯著縮短界面開發時間。在pyui4win中,界面甚至可以完全交給美工去處理,開發人員可以只負責處理業務邏輯,把開發人員徹底從繁雜的界面處理中解放出來。


  總之,介紹了這么多,我個人意見是,如果你是java用戶,那么你就用jython吧,除了可以享受python的模塊功能及語法外,你可以找到許多java的影子;如果你是.net用戶,那么就用iron python吧。如果你對Visual C++很熟悉,那么你可以使用MFC,WPY或是wxPython,當然我更建議wxPython了。當然,我認為對於tkinter是每一個原來搞C的人都應該了解和學習的GUI庫,因為她很輕便,小型應用就可以使用她來搞定,而對於較大型應用可以采用pyGtk,pyQt,WxPython或 PythonCard來搞定,這樣的話,既可以注重知識的銜接性,也可以快速進行軟體的開發了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM