這篇文章是關(guān)于 wxPython,但 wxPython 實(shí)際是兩件事物的組合體:Python 腳本語言和 GUI 功能的 wxWindows 庫(關(guān)于 wxWindows 的介紹,請(qǐng)參閱 developerWorks上的 “細(xì)述 wxWindows” )。wxWindows 庫是為了最大可移植性的 C/C++ 庫,而抽取 GUI 功能。所以 wxWindows 應(yīng)用程序與生俱來地可以運(yùn)行在 Windows、帶 X、KDE 或 Gnome 的 UNIX 或者 wxWindows 已移植到的平臺(tái)上(很不幸,還不包括 Macintosh)。當(dāng)然 Python, 作為腳本引擎,具有很強(qiáng)的移植性( 可以 運(yùn)行在 Macintosh 上,但如果您想要編寫桌面 GUI 代碼,它是不行的)。把 wxWindows 與 Python 腳本語言組合起來,意味著:wxPython 應(yīng)用程序不僅快速和易于編寫,而且可以在不作任何更改情況下,運(yùn)行在 Windows 或 UNIX 環(huán)境下。
您可能想,“但是那也是我有 Java 的原因,Java 也是可移植的?!睕]錯(cuò),如果您曾試過在 Windows 上安裝 Java 應(yīng)用程序,您就可能認(rèn)識(shí)到完全不是這么回事。Java 虛擬機(jī)是 大的 ,它并不總是以您所想的方式工作,最糟糕的是,恕我直言,Java 窗口不是真正意義上的窗口,所以 Java 虛擬機(jī)與主機(jī)系統(tǒng)之間的交互總是有點(diǎn)力不從心。
另一方面,Python 占有相對(duì)小的空間。wxPython 庫的窗口是真正實(shí)在的本地窗口,它可以做本地窗口能做的任何事情,使您的 wxPython 程序如同窗口的程序一樣。wxPython 的全部家當(dāng)可以打包成一個(gè)易于安裝的軟件包。也許我是一個(gè)固執(zhí)的人,但我發(fā)現(xiàn)做同樣的事情,wxPython 要比 Java 容易得多。
但是您可能沒有聽說過桌面上的 Python,它是服務(wù)器端編程社區(qū)的一員,作為腳本語言這一塊的新生兒(特別是與應(yīng)用程序服務(wù)器框架連接,如 Zope)?,F(xiàn)在人們正趕上 Python 的熱潮。Python 的好處在于,不象其它腳本語言,它從一開始就是面向?qū)ο蟮恼Z言。所以您不會(huì)忽視 Java 由于喜愛 Python 而失去品嘗 OO 好處。
世界上最小的 wxPython 程序,剖析!
聽起來很酷,不是嗎?讓我們看一些代碼,您將會(huì)明白我所說的。為了易于討論,我在示例中插入了一些行標(biāo)簽。它們不是代碼中的一部分;這就是為什么它們以 藍(lán)色斜體 表示。
清單 1. 一段很小的代碼樣本
|
新聞熱點(diǎn)
疑難解答
圖片精選