咖啡、生活、美女蛇

          游離于java和python之間……

          常用鏈接

          統計

          他山之石

          最新評論

          『原創』Python的GUI開發:小試wxPython(上)

          ?????很久沒有更新部落狗了,主要是沒時間(太懶^_^),借著給同事交換鏈接的機會,胡寫它個一兩篇吧。閑話少說,進入正題。??
          ?????在日常生活中,難免會遇到一些繁瑣工作(比如數據庫初始化或者備份操作,就拿狗狗的項目實施工作來說,每到一個現場,安裝oracle,創建數據庫—創建表空間—創建用戶—導入初始化數據……),一遍又一遍的重復著,真的很累,唉……
          ?????路人甲:你丫還是程序員吶,這種事情交給CPU做就可以了嘛~
          ?????無奈,誰讓咱吃了這碗飯呢,既然如此,還是抗起鋤頭,自己寫程序來解決吧,要不連路人都瞧不起了。笑話歸笑話,面對如此簡單的問題,當然也要選擇最簡單的方式來解決,下面請跟隨狗狗一起,利用python來處理這件小事,感受一下動態語言的簡潔和強大吧!

          ?????麻雀雖小,五臟俱全,咱們涂鴉也要做得規范點:

          第一步,配置開發環境
          ????????
          ?????這里選擇wxpython作為構建庫,為什么不選tk、pyqt或者gtk呢?因為我不了解^_#。
          1、介紹:wxpython是一個……(此處省略若干google搜集而來的文字,官站http://wxpython.org/?)
          2、下載地址:
          http://surfnet.dl.sourceforge.net/sourceforge/wxpython/wxPython2.6-win32-unicode-2.6.3.3-py24.exe??????
          3、版本:截止本文發布,最新版本為2.6.3.3,我們選擇對應python2.4的unicode版本,因為現在很多三方庫都還不支持2.5。
          4、安裝:首先,得到python的老家http://www.python.org/去下載python安裝,版本得和wxpython相對應,2.4.x都可以;然后再安裝三方庫,比如wxpython和cx_Oracle,后者是一個用來訪問orecle的庫,符合dpapi2.0標準,使用非常方便,這里下載:http://sourceforge.net/projects/cx-oracle/
          5、IDE:有很多選擇,比如spe、Komodo、pydev或者干脆就用自帶的IDLE也行。針對java開發人員,pydev是最好的選擇,她是一個eclipse的插件,支持代碼提示和自動完成,很不錯,最新版本1.2.2,到這里下載安裝:
          http://www.fabioz.com/pydev/download.html
          請注意,這個版本要求eclipse3.2以上才能用。也可以用在線升級的方式安裝,地址:
          http://www.fabioz.com/pydev/updates
          其中包含了兩個插件,pydev和pydev extensions,第二個是pydev的擴展,為其添加了不少新功能,雖然要注冊,但也無妨,頂多就是每隔半小時跳出一個窗口提示一下,不影響正常使用。
          ?

          第二步,設計界面原型

          ?????開發環境搭建好了,不用急著馬上編碼,就我個人的習慣,做GUI程序的話還是先設計出界面原型的好。首先分析一下,我們需要實現些什么功能:
          1、通過用戶指定的數據庫管理員帳號、密碼以及oracle數據庫服務器地址,建立連接;
          2、建立相應的表空間( TableSpace ),命名及存放地址由用戶指定;
          3、建立新用戶,并將提供的數據庫備份文件導入服務器;
          ????以上是針對新建數據庫的操作,如果表空間和用戶已經存在,需要恢復數據庫的話,只需要刪除并重建此用戶,再導入數據即可。同時,提供一個備份數據庫的功能,用于將現有數據庫導出為某個備份文件,方便恢復數據。

          ?????根據以上分析,可以初步畫出界面原型。這里推薦一個叫做GUI Design Studio的小玩意,用起來挺方便的,軟件很小,還支持不少組件的繪制,操作上也很簡單。好像Visio也可以畫?我沒用過,可能更專業些,但是寫小工具解決小問題嘛,能節省力氣就節省力氣了,難得裝那么大個東西。GUI Design Studio內置了很多常見的界面組件,比如window,dialog,tab,toolbar和menu等,繪制操作也很簡單,在右邊的面板里選擇相應的組件,拖放到畫布上就可以了,雙擊每個組件可以彈出相應的設置選項,可以設置樣式、位置、大小等,比如window組件,可以設置窗口標題,字體,以及顯示在右上角的按鈕等。頁面布局最簡單的辦法就是通過鼠標拖動來控制大小和位置,而且,在將toolbar等組件添加到window上的時候,會自動“吸附”到合適的位置,非常方便。下面就是我初步設定的界面,用到了window、group、text、editbox、option和icon:

          r_gui.JPG

          可以看到,我在一個窗口上安排了三個group,每個group中又分別放置了一些文本、輸入框、選擇按鈕和圖標,然后是三個按鈕排列在右下腳,怎么編碼實現這個布局,稍后會講解的,現在先看個大概,知道我們要做成什么樣子。其實這個GUI Design Studio不僅可以繪制靜態的圖形界面,也可以設計一些簡單的交互動作,比如點擊某個按鈕出現某個部件啊什么的,這里就不再詳述了,有興趣的可以自己試試。
          ?
          ?????開發環境和界面設計都搞完了,下一步就是考慮如何編碼實現,利用wxpython做這件事非常簡單,這里我先給出最終的運行界面,具體的編寫過程下次再說。雖然和之前畫的還是有點點差別,但總體來說設計目標還是達到了,呵呵:
          ???
          r_gui2.JPG

          posted on 2006-07-26 13:49 笨笨狗 閱讀(18511) 評論(3)  編輯  收藏 所屬分類: python 美女蛇

          評論

          # re: 『原創』Python的GUI開發:小試wxPython(上) 2006-10-03 01:50 路過

          下 沒有嗎?
          很期待啊  回復  更多評論   

          # re: 『原創』Python的GUI開發:小試wxPython(上) 2006-10-20 11:07 Javaphua

          狗狗啊,很說我好心動,改天要跟你好好學習.我們兩個都是常出差在外,有什么好的東東就發來我看看啊!~~~  回復  更多評論   

          # re: 『原創』Python的GUI開發:小試wxPython(上) 2006-11-20 17:57 san

          小狗,把那源碼和那個GUI Design Studio發我一份。我最近也在wxpython
          python.san@gmail.com  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 中山市| 灵台县| 柳林县| 沙坪坝区| 中江县| 四子王旗| 南乐县| 曲周县| 同江市| 南陵县| 栖霞市| 浑源县| 健康| 马山县| 金寨县| 富川| 余干县| 建德市| 称多县| 讷河市| 澄江县| 新疆| 贵溪市| 怀来县| 宜春市| 蓝山县| 梁河县| 房山区| 广平县| 滨海县| 南汇区| 肇源县| 安福县| 增城市| 黄冈市| 望江县| 山西省| 曲周县| 神木县| 许昌县| 杨浦区|