::-- limodou [2007-11-21 02:19:41]

1. EasyGuider项目

English Version Come in ---> EasyGuider

1.1. 概述

EasyGui的作用就是帮助你使用 wxPython 来方便地生成数据处理界面,那么它附属的一些类你就可以使用了,象EasyDialog之类的。目前已经实现的功能为快速生成对话框、向导(Wizard)、Notebook窗口。这个项目是为了方便数据的录入,你不用考虑使用什么控件,怎么布局之类的底层的事情,只要关心有哪些数据,它们是什么类型就可以了,剩下的事交给EasyGui来做就行了。(原名叫EasyWizard,原本是只想生成Wizard,后来发现还可以将输入窗口做得更通用一些,就改名为EasyGui了。)

1.2. 背景

为什么要搞这个东西,原因有几点:

  • 将要用在我的项目中
  • 可以加快GUI的Dialog的开发,特别是我将用它与 Meteor (流星我的另一个项目,是一个模板系统)相结合,最终可以方便地进行模板处理乃至代码框架的生成。
  • 更详细地背景说明请参见我的BlogEasyWizard项目预览

1.3. 下载

1.4. 更新说明

  • 2005/11/17
    • 增加在每个控件前可以增加一个CheckBox的功能,这样用它来控制是否使用。如果未选中,则对应的控件无法使用,且输出不再这个结果。如果选中才可以处理并返回结果。对于资源文件的改变就是如果要使用,可以在每个element前加上True或False。True表示创建时即为选中,False为未选中,同时控件也被禁止。

    • 同时将日志功能关闭。感觉到处生成日志的确很讨厌。
    • 增加了一个testChTmp.py的资源文件用来测试CheckBox功能。

  • 2005/09/23
    • 增加Script路径处理。当传入一个mod时会查找mod的file,然后与scriptfile文件名合并,从而得出scriptfile所在目录。在运行script前先切换到这个目录,然后执行完毕再切换回原目录。

    • 修改dir输入切换为当前目录的处理,将'.'改为os.getcwd()。并增加“增加新目录”风格。
    • EasyCommander类增加输出文件编码参数(outputencoding),用于控制输出文件的文件编码。

    • 如果inline为True,则不解析cmdoption参数。
  • 2005/09/02 更新菜单生成Bug。增加在调用EasyCommander时传入values的参数。

  • 2005/08/24 修改EasyList.py的SetValue()的Bug,未将values保存为self.values。增加对YAML数据格式的存储支持。需要安装Yaml相关的模块。

  • 2005/08/18 改进easyapp模板,可以生成菜单和工具条。增加生成菜单和工具条的类。 
  • 2005/08/17 增加easyapp模板,可以生成简单的wxPython程序。
    • 运行命令为:
      python EasyAdmin.py -s easyapp.script easyapp.py 
         
  • 2005/08/08 增加模板替换处理。修正窗口显示问题。
  • 2005/08/07 增加打开文件,保存文件,目录,时间,日期,多选的输入类型。支持Notebook类型窗口。
  • 2005/08/01 上传新的测试版本,修改EasyCommander.py,增加对obj2ini的支持,增加TemplateScript的测试程序,可以生成S5格式文档。

1.5. 教程

1.5.1. 功能介绍

下面我简单地介绍一下EasyGuider的功能,因为现在没有文档,甚至程序注释都很少。

  • 以一个字典的方式生成一个或多个Easy页面的配置信息
  • 支持对话框、Wizard、Notebook窗口
  • 用户只关心数据不用关心实现的细节,也就是只需要实现一个数据项的配置脚本即可
  • 可以嵌在命令行中作为数据输入用
  • 可以与Meteor模板工具相配合实现代码框架功能

  • 可以将用户输入的数据以pickle或obj2ini格式保存,并可以重复使用
  • 提供一个命令行工具(EasyAdmin.py),可以对你写出的配置脚本直接运行,观看效果

  • 现在支持的配置项数据类型有:
    • int 整数
    • string 单行文本
    • lines 多行文本
    • static 静态文本
    • password 密码
    • float 浮点数
    • bool 布尔
    • single 单选
    • multi 多选
    • list 列表
    • richlist 富列表
    • openfile 打开文件输入
    • savefile 输入文件输入
    • dir 目录选择
    • date 日期
    • time 时间

1.5.2. 安装说明

EasyGuider使用了最新的 SetupTools工具。如果你没有安装,没有关系。下载完EasyGuider的安装包后,解压到一个目录下,然后直接运行: python setup.py install 这样,安装程序会自动判断你是否安装了SetupTools,如果没有安装或版本不对,则安装程序会自动下载这个工具。

EasyGuider在安装后会将EasyAdmin.py安装到python的Scripts目录下。这样你就可以在命令行上直接运行EasyAdmin.py了。

1.5.3. 测试

安装后就可以测试一下。在源码包目录下,进入EasyGuider/test目录,然后在命令行下敲入: EasyAdmin.py testTmp.py 即可。

还有其它一些测试文件:

  • testDialog.py 用于测试对话框
  • 将testTmp.py中的notebook改为wizard即可看到一个wizard窗口效果
  • testS5.py 用于测试S5的模板生成,命令行为:
    • EasyAdmin.py -s s5.script -p s5.pickle testS5.py

  • testTemplate.py 用于测试简单的Meteor模板生成,命令行为:

    • EasyAdmin.py -t hello.txt testTemplate1.py 文本模板 
      EasyAdmin.py -t hello.py testTemplate1.py python模板

2. 反馈