Python最大的特點就在于她的快速開發(fā)功能。作為一種膠水型語言,python幾乎可以滲透在我們編程過程中的各個領域。這里我簡單介紹一下用python進行g(shù)ui開發(fā)的一些選擇。
1.Tkinter
Tkinter似乎是與tcl語言同時發(fā)展起來的一種界面庫。tkinter是python的配備的標準gui庫,也是opensource的產(chǎn)物。Tkinter可用于windows/linux/unix/macintosh操作系統(tǒng),而且顯示風格是本地化的。Tkinter用起來非常簡單,python自帶的IDLE就是采用它寫的。除此外,tkinter的擴展集pmw和Tix功能上都要相對它強大,但tkinter卻是最基本的。我認為,在用python做gui開發(fā),tkinter是最基本的知識,所以這個環(huán)節(jié)是必須要學習的。你或許在以后的開發(fā)中并不常用tkinter,但是一些小型的應用上面,他還是很有用的,而且開發(fā)速度也很快。
2.WxPython
WxWidgets應該算是近幾年了比較流行的GUI跨平臺開發(fā)技術(shù)了。wxWidgets有不同的版本應用,有c++的,也有basic的,現(xiàn)在在python上面也有較好的移植。wxpython的功能上面要強于tkinter,她提供了超過200個類,面向?qū)ο蟮木幊田L格,設計的框架類似于MFC。對于大型GUI應用上面,wxPython還是具有很強的優(yōu)勢的。boaconstructor可以幫助我們快速可視地構(gòu)建wxwidgets界面。
3.PyQT
Qt同樣是一種開源的GUI庫,Qt的類庫大約在300多個,函數(shù)大約在5700多個。Qt同樣適合于大型應用,由它自帶的qtdesigner可以讓我們輕松來構(gòu)建界面元素。
4.pyGtk
Gtk是linux下Gnome的核心開發(fā)庫了。功能上面非常齊全。值得說明的是,在windows平臺下gtk的顯示風格并不是特別本地化。不過他帶的glade的界面設計器還是可以幫你省不少事的。
5.Jython
嘗試過用python訪問java類庫嗎,那么就用jython吧。jython其實可以認為是另外一個python開發(fā)環(huán)境,基于java的,但是大多數(shù)的CPython調(diào)用jython下還是可以的。你可以在jython環(huán)境下像使用java一樣來通過python的語法來調(diào)用java語言,真的很酷。
6.MFC
WindowsPywin32允許你像VC一樣的形式來使用PYTHON開發(fā)win32應用。代碼風格可以類似win32sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那么這就是一個不錯的選擇。
7.PythonCard
PythonCard其實是對wxPython的再封裝。不過封裝的更加簡單,使用起來覺得比wxPython更直觀,也更簡單化了。
8.Dabo
仍是一個基于wxpython的再封裝庫,沒用過,不太了解。它提供數(shù)據(jù)庫訪問,商業(yè)邏輯以及用戶界面。
9.AnyGui
通過底層的api來訪問其它工具集,像tkinter,wxpython和qt.具體也沒怎么用過。
10.WPY
MFC風格的Gui開發(fā)庫,代碼風格也類似于MFC,僅管如此,你依舊可以使用這個庫來開發(fā)GUI應用,而不用擔心平臺移植的問題。她同樣是一個跨平臺的庫。
11.IronPython
如果你要想開發(fā).net下面的應用的話,那么IronPython就是你的選擇,與jython有點類似,他同樣支持標準的python模塊,但同樣增加了對.net庫的支持。你也可以理解為他是另一個python開發(fā)環(huán)境。你可以非常方便地使用python語法進行.net應用的開發(fā),這一點聽起來真的挺有意思。
總之,介紹了這么多,我個人意見是,如果你是java用戶,那么你就用jython吧,除了可以享受python的模塊功能及語法外,你可以找到許多java的影子;如果你是.net用戶,那么就用ironpython吧。如果你對VisualC++很熟悉,那么你可以使用MFC,WPY或是wxPython,當然我更建議wxPython了。當然,我認為對于tkinter是每一個原來搞C的人都應該了解和學習的GUI庫,因為她很輕便,小型應用就可以使用她來搞定,而對于較大型應用可以采用pyGtk,pyQt,WxPython或PythonCard來搞定,這樣的話,既可以注重知識的銜接性,也可以快速進行軟體的開發(fā)了。
以上內(nèi)容為大家介紹了PythonGUI開發(fā)工具選擇,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。http://m.2667701.com/