一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Python Boa

 squirrel2048 2017-09-27

  上篇介紹了Python的環(huán)境搭建,主要是開發(fā)環(huán)境的介紹,本篇主要介紹Python的GUI開發(fā)工具Boa-constructor的使用和我們的程序開發(fā)完畢后的打包問題,本篇還會介紹在Python中我們?nèi)绾问褂玫谌綌U展庫。

 

一、如何選擇GUI開發(fā)工具

Python的gui開發(fā)工具有很多,有Thiner,WxPython,PyQt,pyGtk,Jython,MFC,IronPython,PythonCard,Dabo,AnyGui,Wpy等,簡直有太多了,選幾種用的比較多的簡單介紹一下,目前我用的是WxPyton。

Tkinter

Tkinter 似乎是與tcl語言同時發(fā)展起來的一種界面庫。tkinter是python的配備的標(biāo)準(zhǔn)gui庫,也是opensource的產(chǎn)物。Tkinter可用 于windows/linux/unix/macintosh操作系統(tǒng),而且顯示風(fēng)格是本地化的。Tkinter用起來非常簡單,python自帶的 IDLE就是采用它寫的。除此外,tkinter的擴展集pmw和Tix功能上都要相對它強大,但tkinter卻是最基本的。我認為,在用python 做gui開發(fā),tkinter是最基本的知識,所以這個環(huán)節(jié)是必須要學(xué)習(xí)的。你或許在以后的開發(fā)中并不常用tkinter,但是一些小型的應(yīng)用上面,他還 是很有用的,而且開發(fā)速度也很快。

WxPython

WxWidgets應(yīng)該算是近幾年了比較流行的GUI跨平臺開發(fā)技術(shù)了。 wxWidgets有不同的版本應(yīng)用,有c++的,也有basic的,現(xiàn)在在python上面也有較好的移植。wxpython的功能上面要強于 tkinter,她提供了超過200個類,面向?qū)ο蟮木幊田L(fēng)格,設(shè)計的框架類似于MFC。對于大型GUI應(yīng)用上面,wxPython還是具有很強的優(yōu)勢 的。boa constructor可以幫助我們快速可視地構(gòu)建wxwidgets界面。

Jython

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

MFC

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

WPY

MFC風(fēng)格的Gui開發(fā)庫,代碼風(fēng)格也類似于MFC,僅管如此,你依舊可以使用這個庫來開發(fā)GUI應(yīng)用,而不用擔(dān)心平臺移植的問題。

IronPython

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

  上面的內(nèi)容是Google找的,總之,介紹了這么多,我個人意見是,如果你是java用戶,你可以選擇用jython;如果你是.net用戶,那么就用ironPython吧。如果你對Visual C++很熟悉,那么你可以使用MFC,WPY或是wxPython,當(dāng)然我更建議wxPython了。當(dāng)然,我認為對于tkinter是每一個原來搞C的 人都應(yīng)該了解和學(xué)習(xí)的GUI庫,因為她很輕便,小型應(yīng)用就可以使用她來搞定,而對于較大型應(yīng)用可以采用pyGtk,pyQt,WxPython或 PythonCard來搞定,這樣的話,既可以注重知識的銜接性,也可以快速進行開發(fā)了。

 

二、Python擴展庫

  如果說強大的標(biāo)準(zhǔn)庫奠定了python發(fā)展的基石,豐富的第三方庫則是python不斷發(fā)展的保證,隨著python的發(fā)展一些穩(wěn)定的第三庫被加入到了標(biāo)準(zhǔn)庫里面,可以在http://pypi./pypi?%3Aaction=index找到非常多的Python擴展庫,其中下面講的wxPython就是其中之一。我猜你喜歡Python的其中一個理由一定是它的非常多的拓展庫,下面列出了常用的Python第三方庫。

Django    開源web開發(fā)框架,它鼓勵快速開發(fā),并遵循MVC設(shè)計,我以前用過很多次,比較好用,開發(fā)周期短。

ActiveGrid  企業(yè)級的Web2.0解決方案。

Karrigell     簡單的Web框架,自身包含了Web服務(wù),py腳本引擎和純python的數(shù)據(jù)庫PyDBLite 。

webpy    一個小巧靈活的Web框架,雖然簡單但是功能強大 。

CherryPy    基于Python的Web應(yīng)用程序開發(fā)框架 。

Pylons    基于Python的一個極其高效和可靠的Web開發(fā)框架 。

Zope     開源的Web應(yīng)用服務(wù)器。

TurboGears   基于Python的MVC風(fēng)格的Web應(yīng)用程序框架。

Twisted     流行的網(wǎng)絡(luò)編程庫,大型Web框架。

Quixote     Web開發(fā)框架。

Matplotlib  用Python實現(xiàn)的類matlab的第三方庫,用以繪制一些高質(zhì)量的數(shù)學(xué)二維圖形 。

SciPy     基于Python的matlab實現(xiàn),旨在實現(xiàn)matlab的所有功能 。

NumPy     基于Python的科學(xué)計算第三方庫,提供了矩陣,線性代數(shù),傅立葉變換等等的解決方案 。

PyGtk      基于Python的GUI程序開發(fā)GTK+庫。

PyQt     用于Python的QT開發(fā)庫。

WxPython     Python下的GUI編程框架,與MFC的架構(gòu)相似。

Tkinter      Python下標(biāo)準(zhǔn)的界面編程包。

BeautifulSoup 基于Python的HTML/XML解析器,簡單易用。

PIL        基于Python的圖像處理庫,功能強大,對圖形文件的格式支持廣泛。

MySQLdb      用于連接MySQL數(shù)據(jù)庫。

cElementTree高性能XML解析庫,Py2.5應(yīng)該已經(jīng)包含了該模塊,因此不算一個第三方庫了。

PyGame       基于Python的多媒體開發(fā)和游戲軟件開發(fā)模塊。

Py2exe     將python腳本轉(zhuǎn)換為windows上可以獨立運行的可執(zhí)行程序。

pefile       Windows PE文件解析器

 

三、boa-constructor的使用

我是一個.Net開發(fā)人員,我之所以不選擇IronPython的原因是不想再讓客戶端去安裝.net framework這么龐大的庫,所以我選擇了wxPython。wxPython的介紹上面有,我個人覺得wxPython還是比較容易學(xué)習(xí)的。因為有API可以供我們查閱,它和MFC有很多相同或者相似的地方,我個人還是比較喜歡,或者可以我沒有去嘗試其他的庫吧,因為我發(fā)現(xiàn)我已經(jīng)喜歡上它了。

和wxPython庫搭配的開發(fā)IDE 也有很多,spe, boa-constructor,eclipse+pydev. 個人建議選擇boa-constructor 和 Eclipse+Pydev 搭配。其中boa-constructor用來開發(fā)界面,Eclipse+Pydev 用來編寫代碼。

boa-constructor個人感覺還是非常不錯的,剛開始可能會不懂,比較吃力一點,但是等你學(xué)會使用了以后相信你會喜歡上它的。下載地址:點擊此處下載。  安裝boa-constructor之前請確定你的機器上已經(jīng)安裝了wxPython 和Python。目前需要wxPython 2.4.0.7 or higher and Python 2.1 or higher.

boa-constructor 安裝完畢后桌面或者開始菜單并沒有它的啟動快捷方式或者是目錄。你需要在你的Python安裝目錄下找到Python26\Lib\site-packages\boa-constructor 這個路徑下Boa.py文件。Boa.py為boa-constructor啟動文件。

1.雙擊Boa.py文件加載完畢后會出現(xiàn)如下界面。

                     

  1. 其中1中的最上方一個窗口為boa-constructor的工具條,里面有基本的一些控件等。見下圖:

 

其中Python,wxPython, boa-constructor 的幫助文檔你也會在這個工具條中找到,這幾個文檔能為你后面的開發(fā)工作起到很大的作用。

  1. 下面的為檢視器窗口,它的主要作用相當(dāng)于VS中的屬性窗口,包括一些控件的屬性,事件等。

 

  1. 主工作區(qū)域窗口就不進行介紹了,都是中文顯示。如下圖:

 

 

 

下面簡單介紹一下如何新建工程。

 

  1. 點擊最上方工具條視圖中的第五個圖標(biāo)。

 

 

  1. 點擊之后,主編輯器窗口會出來2個未保存的新建文件(*App1*,*Frame1*),其中App1為程序的啟動文件,里面包含應(yīng)用程序初始化的一些信息以及Main函數(shù),F(xiàn)rame1為生成的一個新頁面,接下面我們需要做的就是繪制界面了。

 

 

  1. 切換到Frame1選項卡,然后按快捷鍵F12或者點擊框架設(shè)計器按鈕(),此時會彈出Frame1的設(shè)計界面,如下圖:

 

 

  1. 從工具條拖拉我們需要的控件到設(shè)計器區(qū)域,我拖拽了一個Button和一個Label,另外我修改了程序的標(biāo)題。如下圖:

 

 

  1. WxPython也是采用的事件驅(qū)動的模型,在左邊的檢視器窗口我們可以看到某一個控件的信息等,包括該控件的基本屬性信息,以及構(gòu)造該空間所需的必須屬性和可設(shè)置屬性,另外還有就是該控件所擁有的事件,如下圖:

 

 

  1. 如何在wxPython中添加事件?其實很簡單,打開檢視器窗口,切換到Evts選項卡,左邊菜單欄會列出該控件所具有的事件,然后右邊雙擊就可以了,最后,別忘了對你的更改進行提交(上面對號),如下圖:

 

 

  1. 下面為Boa為我們生成的界面代碼,我們的后臺邏輯代碼可以在Eclipse中利用其更好的代碼提示為我們提供便利。
View Code

 

 

至此,BOA的使用簡單介紹到這里,后面更多的探索還要自己去慢慢摸索。

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    老司机精品视频免费入口| 国产精品夜色一区二区三区不卡| 亚洲一区二区精品免费| 国产精品亚洲精品亚洲| 在线视频三区日本精品| 一区二区三区在线不卡免费| 日韩专区欧美中文字幕| 久久精品国产亚洲熟女| 欧美日不卡无在线一区| 欧美欧美欧美欧美一区| 国产人妻熟女高跟丝袜| 亚洲最新的黄色录像在线| 婷婷色网视频在线播放| 亚洲精品中文字幕无限乱码| 亚洲一区二区三区在线中文字幕| 久久热这里只有精品视频| 好吊色免费在线观看视频| 国产精品一区二区香蕉视频| 最新日韩精品一推荐日韩精品| 一区二区三区亚洲国产| 黄色日韩欧美在线观看| 国产精品亚洲精品亚洲| 翘臀少妇成人一区二区| 亚洲一区二区福利在线| 国产高清一区二区不卡| 日本高清一区免费不卡| 女人高潮被爽到呻吟在线观看| 国产精品白丝久久av| 99热九九热这里只有精品| 日本免费熟女一区二区三区| 久久99一本色道亚洲精品| 超碰在线免费公开中国黄片| 免费久久一级欧美特大黄孕妇 | 91插插插外国一区二区婷婷| 国产激情一区二区三区不卡| 99久久精品一区二区国产| 91日韩在线视频观看| 国产自拍欧美日韩在线观看| 初尝人妻少妇中文字幕在线| 一区二区欧美另类稀缺| 欧美日韩综合免费视频|