Python的GUI开发:小试wxPython(上)

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:



可以看到,我在一个窗口上安排了三个group,每个group中又分别放置了一些文本、输入框、选择按钮和图标,然后是三个按钮排列在右下脚,怎么编码实现这个布局,稍后会讲解的,现在先看个大概,知道我们要做成什么样子。其实这个GUI Design Studio不仅可以绘制静态的图形界面,也可以设计一些简单的交互动作,比如点击某个按钮出现某个部件啊什么的,这里就不再详述了,有兴趣的可以自己试试。
 
     开发环境和界面设计都搞完了,下一步就是考虑如何编码实现,利用wxpython做这件事非常简单,这里我先给出最终的运行界面,具体的编写过程下次再说。虽然和之前画的还是有点点差别,但总体来说设计目标还是达到了,呵呵:
   


你可能感兴趣的:(Python的GUI开发:小试wxPython(上))