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(上)相关推荐

  1. python 图形化开发用什么模块_用python进行GUI开发的选择/python的GUI模块(图形界面开发库)...

    Python最大的特点就在于她的快速开发功能.作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域.这里我简单介绍一下用python进行gui开发的一些选择. 1.Tkinter T ...

  2. 用python进行GUI开发的选择

    来自网络 Python最大的特点就在于她的快速开发功能.作为一种胶水型语言,python几乎可以***在我们编程过程中的各个领域.这里我简单介绍一下用python进行gui开发的一些选择.  1.Tk ...

  3. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)

    python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv) 一.上传文件 上传一个图片 使用input type="file& ...

  4. python运维开发项目_GitHub上值得推荐的8个python 项目

    GitHub 无疑是代码托管领域的先行者,Python 作为一种通用编程语言,已经被千千万万的开发人员用来构建各种有意思或有用的项目.以下我们会介绍一些使用 Python 构建的GitHub上优秀的项 ...

  5. 【Python之GUI开发案例】用Python的tkinter开发聚合翻译神器

    目录 一.效果演示 二.代码分解 三.获取python源码 一.效果演示 我用python的tkinter库开发了一个聚合翻译器,实现一键同时获取5个翻译工具的结果,包括: 有道翻译.百度翻译.必应翻 ...

  6. python编程工具p-python Gui开发工具选择

    Python最大的特点就在于她的快速开发功能.作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域.这里我简单介绍一下用python进行gui开发的一些选择. 1.Tkinter T ...

  7. python自带gui_Python GUI开发工具中五种类型的相关介绍

    Python这一计算机语言不仅具有十分简捷的操作功能,它还具有十分快速的相关开发功能,此文主要向你介绍的是关于Python GUI开发工具在实际相关应用操作过程中的具体操作,以及这几种开发工具相关内容 ...

  8. python界面开发工 跨平台具_python GUI开发常用工具

    Python最大的特点就在于她的快速开发功能.作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域.这里我简单介绍一下用python进行gui开发的一些选择.1.TkinterTki ...

  9. Python GUI 开发工具

    Python Tkinter教程(GUI图形界面开发教程):http://c.biancheng.net/python/tkinter/ PyQt5教程:http://code.py40.com/fa ...

最新文章

  1. java开学第一周测试自我感想
  2. 服务器系统由32位的吗,云服务器有Windows32位系统吗
  3. Java connot reduce_Java8: Reduce方法
  4. Java:本地最小语言
  5. extjs 月份选择控件_Excel | 做个生日提醒控件,本月或下月过生日的员工信息随你查看...
  6. spingBoot整合mybatis+generator+pageHelper
  7. shell交互式输入
  8. eclipse中的ctrl+H使用中的问题
  9. 黑马程序员 Python学习笔记之PyCharm 的初始设置
  10. linux 的 绘画软件,Drawing Linux(简单画图工具)
  11. Python基础入门:函数--阿里云天池
  12. 笔记本电脑启动无法打开计算机,笔记本电脑开机没反应(详细教程教您怎么解决)...
  13. 基于SSM的概念可视化程序设计学习系统 毕业设计-附源码021009
  14. windows11账户登录不上去怎么办?
  15. 什么是5G?5G通信关键技术简介
  16. Netapp常用命令
  17. 【BOOST C++字串专题11】Boost.Spirit(一)
  18. CTFHub技能树 Web-XSS 详解
  19. 汽车操作系统攻防综述
  20. png 微软ppt 透明度_超实用!PPT微软官方教程

热门文章

  1. 测量平均值,残差,标准列误差,算术平均测量列误差数据可视化
  2. 单细胞测序探索小鼠胚胎时期脑组织的发育
  3. Windows上利用Zerotier配置moon无法连接
  4. ct上的字怎么消_CT常用专业术语解读,建议收藏!
  5. Docker学习(六):Docker Compose和Docker Stack区别
  6. php连接db2失败,php – 通过pdo_ibm模块连接到db2手动配置的错误SQL10007N -5005
  7. 流程绩效管理与考核专家胡立
  8. 适合于物联网通信的FEC纠错码
  9. Android 仿美女撕衣服效果
  10. 74系列595芯片使用详解(包含电路设计要点与驱动程序示例)