Python论坛  - 讨论区

标题:[python-chinese] ANN:使用EasyGui生成wxPython应用框架

2005年08月18日 星期四 14:00

limodou limodou at gmail.com
Thu Aug 18 14:00:46 HKT 2005

在昨天的基础上增加了菜单和工具条的生成。全部代码和示例模板已经包含在最新的EasyGui包中了。

操作方式见: 使用EasyGui来生成wxPython代码框架 
http://blog.donews.com/limodou/archive/2005/08/17/513872.aspx

目前菜单与工具条是写在一个配置文件中,运行时由MainFrame.py来导入。配置文件为:resource.py,内容为:

actions = [
    ('ID_FILE', '&File;', None, '', 'File', None, None),
    ('ID_FILE_OPEN', '&Open;\tCtrl+O', None, 'open', 'Open a file',
'images/blog.gif', None),
    ('ID_FILE_EXIT', 'E&xit;\tAlt+F4', None, 'exit', 'Exit the
program', None, 'OnExit'),
    ('ID_EDIT', '&Eile;', None, '', 'Eile', None, None),
    ('ID_EDIT_UNDO', '&Undo;', None, 'undo', 'Undo last command',
'images/undo.gif', None),
    ('ID_EDIT_REDO', '&Redo;', None, 'redo', 'Redo last command',
'images/redo.gif', None),
]

menubar = [
    (None, 
        [(100, 'ID_FILE'), 
         (110, 'ID_EDIT')]),
    ('ID_FILE',
        [(100, 'ID_FILE_OPEN'),
         (110, '-'), 
         (120, 'ID_FILE_EXIT')]),
    ('ID_EDIT',
        [(100, 'ID_EDIT_UNDO'), 
         (110, 'ID_EDIT_REDO')]),
]

toolbar = [
    (100, 'ID_FILE_OPEN'), 
    (110, '-'), 
    (120, 'ID_EDIT_UNDO'), 
    (130, 'ID_EDIT_REDO')
]

actions为最基本的功能集,menubar与toolbar只不过是复用。
一个action的格式为:

(id(建议大写英文), caption,
type(缺省为wx.ITEM_NORMAL,其它为wx.ITEM_CHECK,wx.ITEM_RADIO),
shorttip(用于工具条), longtip, image(可以为文件名,image对象或使用img2py生成的函数名),
funcname(事件方法名,如缺省会自动查找名为以ON开头后面为id的方法))

menubar是一个list,由二元tuple构成
每个tuple的第一项是父菜单的id,第二项是一个list,内容为菜单项集合,也是使用二元tuple表示。id为-是由系统缺省提供,表示一个分隔线。内容列表中的每个tuple由(order,action_id)构成。order是用于排序。因此菜单的顺序是靠order来排列的,因此可以随便摆放。

toolbar是一个list,由二元tuple构成(order, action_id)。同菜单,order也是用于排序。id为-将生成一个坚线。

说明写得很简单,有时间再细化。有兴趣的可以试一试。

-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月18日 星期四 14:46

Zoom Quiet zoom.quiet at gmail.com
Thu Aug 18 14:46:26 HKT 2005

在 05-8-18,limodou<limodou at gmail.com> 写道:
> 在昨天的基础上增加了菜单和工具条的生成。全部代码和示例模板已经包含在最新的EasyGui包中了。
> 
> 操作方式见: 使用EasyGui来生成wxPython代码框架
> http://blog.donews.com/limodou/archive/2005/08/17/513872.aspx
> 
好哪!有心得就分享!!开启 EasyGUI 系列讲座哪!
建议下次CPUG 会课就讲这个!
门户创建的事儿,好象大家又都没有热情了,那未就集中精力进行内容的组织先吧!


-- 
[Time is unimportant, only life important!]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号