『原創(chuàng)』Python的GUI開發(fā):小試wxPython(上)
?????很久沒有更新部落狗了,主要是沒時(shí)間(太懶^_^),借著給同事交換鏈接的機(jī)會(huì),胡寫它個(gè)一兩篇吧。閑話少說,進(jìn)入正題。???????在日常生活中,難免會(huì)遇到一些繁瑣工作(比如數(shù)據(jù)庫初始化或者備份操作,就拿狗狗的項(xiàng)目實(shí)施工作來說,每到一個(gè)現(xiàn)場,安裝oracle,創(chuàng)建數(shù)據(jù)庫—?jiǎng)?chuàng)建表空間—?jiǎng)?chuàng)建用戶—導(dǎo)入初始化數(shù)據(jù)……),一遍又一遍的重復(fù)著

?????路人甲:你丫還是程序員吶,這種事情交給CPU做就可以了嘛~
?????無奈,誰讓咱吃了這碗飯呢,既然如此,還是抗起鋤頭,自己寫程序來解決吧,要不連路人都瞧不起了

?????麻雀雖小,五臟俱全,咱們涂鴉也要做得規(guī)范點(diǎn):
第一步,配置開發(fā)環(huán)境
????????
?????這里選擇wxpython作為構(gòu)建庫,為什么不選tk、pyqt或者gtk呢?因?yàn)槲也涣私鈄_#。
1、介紹:wxpython是一個(gè)……(此處省略若干google搜集而來的文字,官站http://wxpython.org/?)
2、下載地址:
http://surfnet.dl.sourceforge.net/sourceforge/wxpython/wxPython2.6-win32-unicode-2.6.3.3-py24.exe??????
3、版本:截止本文發(fā)布,最新版本為2.6.3.3,我們選擇對(duì)應(yīng)python2.4的unicode版本,因?yàn)楝F(xiàn)在很多三方庫都還不支持2.5。
4、安裝:首先,得到python的老家http://www.python.org/去下載python安裝,版本得和wxpython相對(duì)應(yīng),2.4.x都可以;然后再安裝三方庫,比如wxpython和cx_Oracle,后者是一個(gè)用來訪問orecle的庫,符合dpapi2.0標(biāo)準(zhǔn),使用非常方便,這里下載:http://sourceforge.net/projects/cx-oracle/
5、IDE:有很多選擇,比如spe、Komodo、pydev或者干脆就用自帶的IDLE也行。針對(duì)java開發(fā)人員,pydev是最好的選擇,她是一個(gè)eclipse的插件,支持代碼提示和自動(dòng)完成,很不錯(cuò),最新版本1.2.2,到這里下載安裝:
http://www.fabioz.com/pydev/download.html
請(qǐng)注意,這個(gè)版本要求eclipse3.2以上才能用。也可以用在線升級(jí)的方式安裝,地址:
http://www.fabioz.com/pydev/updates
其中包含了兩個(gè)插件,pydev和pydev extensions,第二個(gè)是pydev的擴(kuò)展,為其添加了不少新功能,雖然要注冊(cè),但也無妨,頂多就是每隔半小時(shí)跳出一個(gè)窗口提示一下,不影響正常使用。
?
第二步,設(shè)計(jì)界面原型
?????開發(fā)環(huán)境搭建好了,不用急著馬上編碼,就我個(gè)人的習(xí)慣,做GUI程序的話還是先設(shè)計(jì)出界面原型的好。首先分析一下,我們需要實(shí)現(xiàn)些什么功能:
1、通過用戶指定的數(shù)據(jù)庫管理員帳號(hào)、密碼以及oracle數(shù)據(jù)庫服務(wù)器地址,建立連接;
2、建立相應(yīng)的表空間( TableSpace ),命名及存放地址由用戶指定;
3、建立新用戶,并將提供的數(shù)據(jù)庫備份文件導(dǎo)入服務(wù)器;
????以上是針對(duì)新建數(shù)據(jù)庫的操作,如果表空間和用戶已經(jīng)存在,需要恢復(fù)數(shù)據(jù)庫的話,只需要?jiǎng)h除并重建此用戶,再導(dǎo)入數(shù)據(jù)即可。同時(shí),提供一個(gè)備份數(shù)據(jù)庫的功能,用于將現(xiàn)有數(shù)據(jù)庫導(dǎo)出為某個(gè)備份文件,方便恢復(fù)數(shù)據(jù)。
?????根據(jù)以上分析,可以初步畫出界面原型。這里推薦一個(gè)叫做GUI Design Studio的小玩意,用起來挺方便的,軟件很小,還支持不少組件的繪制,操作上也很簡單。好像Visio也可以畫?我沒用過,可能更專業(yè)些,但是寫小工具解決小問題嘛,能節(jié)省力氣就節(jié)省力氣了,難得裝那么大個(gè)東西。GUI Design Studio內(nèi)置了很多常見的界面組件,比如window,dialog,tab,toolbar和menu等,繪制操作也很簡單,在右邊的面板里選擇相應(yīng)的組件,拖放到畫布上就可以了,雙擊每個(gè)組件可以彈出相應(yīng)的設(shè)置選項(xiàng),可以設(shè)置樣式、位置、大小等,比如window組件,可以設(shè)置窗口標(biāo)題,字體,以及顯示在右上角的按鈕等。頁面布局最簡單的辦法就是通過鼠標(biāo)拖動(dòng)來控制大小和位置,而且,在將toolbar等組件添加到window上的時(shí)候,會(huì)自動(dòng)“吸附”到合適的位置,非常方便。下面就是我初步設(shè)定的界面,用到了window、group、text、editbox、option和icon:
可以看到,我在一個(gè)窗口上安排了三個(gè)group,每個(gè)group中又分別放置了一些文本、輸入框、選擇按鈕和圖標(biāo),然后是三個(gè)按鈕排列在右下腳,怎么編碼實(shí)現(xiàn)這個(gè)布局,稍后會(huì)講解的,現(xiàn)在先看個(gè)大概,知道我們要做成什么樣子。其實(shí)這個(gè)GUI Design Studio不僅可以繪制靜態(tài)的圖形界面,也可以設(shè)計(jì)一些簡單的交互動(dòng)作,比如點(diǎn)擊某個(gè)按鈕出現(xiàn)某個(gè)部件啊什么的,這里就不再詳述了,有興趣的可以自己試試。
?
?????開發(fā)環(huán)境和界面設(shè)計(jì)都搞完了,下一步就是考慮如何編碼實(shí)現(xiàn),利用wxpython做這件事非常簡單,這里我先給出最終的運(yùn)行界面,具體的編寫過程下次再說。雖然和之前畫的還是有點(diǎn)點(diǎn)差別,但總體來說設(shè)計(jì)目標(biāo)還是達(dá)到了,呵呵:
???
posted on 2006-07-26 13:49 笨笨狗 閱讀(18519) 評(píng)論(3) 編輯 收藏 所屬分類: python 美女蛇