Differences between revisions 10 and 15 (spanning 5 versions)
Revision 10 as of 2005-07-23 12:23:51
Size: 5002
Editor: limodou
Comment:
Revision 15 as of 2009-12-25 07:13:57
Size: 5425
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
'''wxEasyWizard -- wx设计友好精灵'''
::-- limodou [[[DateTime(2005-07-23T08:30:16Z)]]]
[[TableOfContents]]
'''wxEasyWizard -- wx易向导'''
::-- limodou [<<DateTime(2005-07-23T08:30:16Z)>>]
<<TableOfContents>>
Line 15: Line 15:
 * 更详细地背景说明请参见我的Blog[http://blog.donews.com/limodou/archive/2005/07/23/477792.aspx EasyWizard项目预览]  * 更详细地背景说明请参见我的Blog[[http://blog.donews.com/limodou/archive/2005/07/23/477792.aspx|EasyWizard项目预览]]

== 下载 ==
 * [[attachment:EasyWizard-0.1.tar.gz]] 目录还是测试版,有兴趣可以用一用。

== 更新说明 ==

 * 2005/08/07 增加打开文件,保存文件,目录,时间,日期,多选的输入类型。支持Notebook类型窗口。
 * 2005/08/01 上传新的测试版本,修改EasyCommander.py,增加对obj2ini的支持,增加TemplateScript的测试程序,可以生成S5格式文档。
Line 40: Line 48:
== 下载 ==
Line 99: Line 106:
attachment:EasyWizard02.jpg {{attachment:EasyWizard02.jpg}}
Line 103: Line 110:
attachment:EasyWizard03.jpg {{attachment:EasyWizard03.jpg}}
Line 107: Line 114:
attachment:EasyWizard04.jpg {{attachment:EasyWizard04.jpg}}
Line 111: Line 118:
attachment:EasyWizard01.jpg {{attachment:EasyWizard01.jpg}}
Line 116: Line 123:
[[Include(/Discuss)]] <<Include(/Discuss)>>

wxEasyWizard -- wx易向导 ::-- limodou [2005-07-23 08:30:16]

EasyWizard项目

概述

EasyWizard的作用就是帮助你使用 wxPython 来方便地生成Wizard界面,那么它附属的一些类你就可以使用了,象EasyDialog之类的。

背景

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

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

下载

更新说明

  • 2005/08/07 增加打开文件,保存文件,目录,时间,日期,多选的输入类型。支持Notebook类型窗口。
  • 2005/08/01 上传新的测试版本,修改EasyCommander.py,增加对obj2ini的支持,增加TemplateScript的测试程序,可以生成S5格式文档。

功能介绍

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

  • 以一个字典的方式生成一个Wizard页面的配置信息
  • 根据这个配置信息可以一次生成多页的Wizard
  • 现在支持的配置项数据类型有:
    • int 整数(IntCtrlSpinCtrl)

    • string 文本(TextCtrl)

    • lines 多行文本(TextCtrl)

    • float 浮点数(EasyFloat)

    • bool 布尔(CheckBox)

    • choice 选择(ComboBox)

    • static静态文本(StaticText)

    • list列表(ListView)

      • list是一个特殊配置项,它还可以支持如上的配置项包括list,因此可以定义多层(我只试过2层)这样可以生成分级型式的数据。这样与 Meteor 中的数据循环就对应的。
    • list控制本身提供增加、删除、修改的功能。
    • 提供一个命令行工具(EasyAdmin.py),可以对你写出的Wizard直接运行,可以看效果

    • 生成的结果按照分级的情况为一个字典

以后还会增加其它一些输入控制项,如:密码、目录、文件等,反正想到什么就加什么。也许以后还会增加一些其它的更方便的界面生成类,如:列表等。

安装说明

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

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

测试

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

截图

这是测试用的配置信息

   1 #coding=cp936
   2 page1_elements = [
   3     ('int', 'numbername', '0', u'数字测试', None),
   4     ('bool', 'checkname', '0', u'检查框测试', None),
   5     ('choice', 'choicename', 'Y', u'选择测试', [(u'', 'Y'), (u'', 'N')]),
   6     ('string', 'textname', u'这是一个简单文本', u'简单文本测试', None),
   7     ('lines', 'multitextname', u'这是一个多行文本', u'多行文本测试', None),
   8     ('static', 'statictextname', u'这是一个静态文本', u'静态文本测试', None),
   9     ('float', 'floatname', 12.3, u'浮点数测试', None),
  10     ]
  11 
  12 page2_elements = [
  13     ('int', 'number', '0', u'数字测试', None),
  14     ('bool', 'check', '0', u'检查框测试', None),
  15     ('choice', 'choice', 'Y', u'选择测试', {u'':'Y', u'':'N'}),
  16     ('string', 'text', u'这是一个简单文本', u'简单文本测试', None),
  17     ('list', 'list', [{'name':'limodou', 'age':31, 'sublist':[]}, 
  18         {'name':'zoomquiet', 'age':31, 'sublist':[]}], u'这是一个列表测试', {
  19         'columns':[('name', 60, 'left'), ('age', 40, 'right'), ('sublist', 50, 'center')],
  20         'elements':[
  21             ('string', 'name', 'name', u'姓名', None),
  22             ('int', 'age', 0, u'年龄', None),
  23             ('list', 'sublist', [], u'这是子列表测试', {
  24                 'columns':[('X', 60, 'left'), ('Y', 40, 'right'), ('Z', 50, 'center')],
  25                 'elements':[
  26                     ('string', 'x', 'x', u'X', None),
  27                     ('choice', 'y', 'A', u'Y', ['A', 'B', 'C']),
  28                     ('bool', 'z', False, u'Z', None),
  29                 ]
  30             }),
  31         ]
  32     }),
  33     ]
  34 bitmap = 'logo.jpg'
  35 pagesinfo = [
  36 {'title':u'第一页', 'description':u'第一页描述信息', 'elements':page1_elements},
  37 {'title':u'第二页', 'description':u'第二页描述信息', 'elements':page2_elements, 'bitmap':'logo.png'},
  38 ]

截图:

EasyWizard02.jpg

(命令行下运行)

EasyWizard03.jpg

(第一个页面)

EasyWizard04.jpg

(第二个页面,背景图变了)

EasyWizard01.jpg

(list项的增加对话框,其中又有一个list)

反馈

wxPython 友好精灵 讨论 ::-- ZoomQuiet [2005-07-23 09:48:19]

<< <  2025 / 5 >  >>
Mon Tue Wed Thu Fri Sat Sun
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

反馈提要

EasyWizard (last edited 2009-12-25 07:13:57 by localhost)