Python论坛  - 讨论区

标题:[python-chinese] 请教:wxpython中使用XRC的优缺

2006年10月30日 星期一 02:12

jiang hongbo larkdream在gmail.com
星期一 十月 30 02:12:28 HKT 2006

在C++中使用XRC的资源文件来设计界面优势相当明显。作为编译语言,XRC将界面与代码分离,可以提高灵活性和可维护性,修改后也不用重新编译程序。但对其在Python中的运用我存在一些疑问,正如《python不是Java》中所言,因为python本身就相当动态,所以有些别的语言采用XML的场合对python是不需要的。
   请教:在wxpython中使用XRC各有什么优缺点?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061030/1f310c16/attachment.html 

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

2006年10月30日 星期一 08:18

yi huang yi.codeplayer在gmail.com
星期一 十月 30 08:18:26 HKT 2006

>
>
> 在C++中使用XRC的资源文件来设计界面优势相当明显。作为编译语言,XRC将界面与代码分离,可以提高灵活性和可维护性,修改后也不用重新编译程序。但对其在Python中的运用我存在一些疑问,正如《python不是Java》中所言,因为python本身就相当动态,所以有些别的语言采用XML的场合对python是不需要的。
>
>    请教:在wxpython中使用XRC各有什么优缺点?
>

优点:XRC作为一种规范的格式,方便XRC编辑器或是IDE进行可视化的构建。

-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061030/9f21b37e/attachment.html 

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

2006年10月30日 星期一 08:40

limodou limodou在gmail.com
星期一 十月 30 08:40:49 HKT 2006

On 10/30/06, jiang hongbo <larkdream在gmail.com> wrote:
>
> 在C++中使用XRC的资源文件来设计界面优势相当明显。作为编译语言,XRC将界面与代码分离,可以提高灵活性和可维护性,修改后也不用重新编译程序。但对其在Python中的运用我存在一些疑问,正如《python不是Java》中所言,因为python本身就相当动态,所以有些别的语言采用XML的场合对python是不需要的。
>    请教:在wxpython中使用XRC各有什么优缺点?

并不是说因为Python动态就一定不要使用xml,要不要使用要看场合。比如xrc,使用我认为没有什么。而xrc还可以用在除wxPython之外的地方,如wxWidgets,因此如果存在跨系统的情况,使用xml也可能反而是一个好的方式。而对于纯python的应用,是否使用xml就值得考虑了。如果你根本不考虑其它语言的复用,那么使用象dict之类的python内置的数据结构,使用pickle之类的或直接是python源程序的置配方法,在可维护性与可读性,以及简单性上面都好于xml。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

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

2006年10月30日 星期一 23:11

jiang hongbo larkdream在gmail.com
星期一 十月 30 23:11:56 HKT 2006

>
> 受教了,XRC的确有着自己的优势。


但我想没有任何技术会只有优势没有缺点的。比如这里我就想采用XML作为资源文件,用户必须学习XML的语法(虽然XML的语法非常简单);同时,还必须同时维护几个不同的文件。IDE设计界面则是方便了,但也会给IDE的自动补全带来了一定的困难。不知道
limodou是如何解决这个问题的?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061030/75b233b9/attachment.htm 

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

2006年10月31日 星期二 08:36

limodou limodou在gmail.com
星期二 十月 31 08:36:30 HKT 2006

On 10/30/06, jiang hongbo <larkdream在gmail.com> wrote:
>
> >  受教了,XRC的确有着自己的优势。
>
>
>   但我想没有任何技术会只有优势没有缺点的。比如这里我就想采用XML作为资源文件,用户必须学习XML的语法(虽然XML的语法非常简单);同时,还必须同时维护几个不同的文件。IDE设计界面则是方便了,但也会给IDE的自动补全带来了一定的困难。不知道limodou是如何解决这个问题的?
>
wxPython提供了一个叫XRCED的编辑界面工具,我不需要手工生成xrc文件,用它生成就好了。目前xrc也提供了i18n的支持,只不过我没有使用,我是通过修改xrc的文本为不同的语言来实现的。但是如果采用xrc的i18n方式,不会有这个问题。至于xml标签的自动补全,如果你使用xrced来生成界面,你将不会直接编辑xml文件。当然对于一般的自动补全,许多编辑器都支持。UliPad也可以做到。由于xrc不是一个标准的.xml的后缀,只要向它指定使用xml的acp文件即可。


-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

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

2006年10月31日 星期二 09:02

大熊 bearsprite在gmail.com
星期二 十月 31 09:02:08 HKT 2006

其它一些wxwidgets的GUI工具都可以很方便地设计界面,输出XRC,比如wxDesigner、DialogBlock,wxDesigner还可以生成相应的python代码,可惜这些都是商业工具

不过,感谢开源,还有wxglade <http://wxglade.sourceforge.net/>,也是一个不错的工具,可以试试

在06-10-30,jiang hongbo <larkdream在gmail.com> 写道:
>
>  受教了,XRC的确有着自己的优势。
>
>
> 但我想没有任何技术会只有优势没有缺点的。比如这里我就想采用XML作为资源文件,用户必须学习XML的语法(虽然XML的语法非常简单);同时,还必须同时维护几个不同的文件。IDE设计界面则是方便了,但也会给IDE的自动补全带来了一定的困难。不知道
> limodou是如何解决这个问题的?
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
茫茫人海,你是我的最爱
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20061031/411af58d/attachment.htm 

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

2006年10月31日 星期二 17:32

jiang hongbo larkdream在gmail.com
星期二 十月 31 17:32:35 HKT 2006

   呵呵,我现在用的就是wxglade,不过好像不支持绝对定位,有时候不方便。那位知道有所见所得的支持绝对定位的工具吗?
  我想请教limodou的可不是XML的自动补全哦,事实上具体说是两个问题:
  1.在python中变量名可以指派不同的类型,也就是说变量名所指向的类型在运行时是可变的,那么在编辑器中是如何得到变量名所指派的类型来进行补全的呢?
  2.在使用XRC时,通过xrc.XRCCTRL所得到的变量的类型依赖于XML文件,limodou的UliPad是否会通过分析XRC文件来得到变量的具体类型进行自动补全?
  当然,这事实上是动态类型共有的问题,并不是由使用XRC带来的。

2006/10/31, 大熊 <bearsprite at gmail.com>:
> 其它一些wxwidgets的GUI工具都可以很方便地设计界面,输出XRC,比如wxDesigner、DialogBlock,wxDesigner还可以生成相应的python代码,可惜这些都是商业工具
>
> 不过,感谢开源,还有wxglade <http://wxglade.sourceforge.net/>,也是一个不错的工具,可以试试
>
> 在06-10-30,jiang hongbo <larkdream at gmail.com> 写道:
> >
> >  受教了,XRC的确有着自己的优势。
> >
> >
> >
> 但我想没有任何技术会只有优势没有缺点的。比如这里我就想采用XML作为资源文件,用户必须学习XML的语法(虽然XML的语法非常简单);同时,还必须同时维护几个不同的文件。IDE设计界面则是方便了,但也会给IDE的自动补全带来了一定的困难。不知道
> > limodou是如何解决这个问题的?
> >
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
>
>
> --
> 茫茫人海,你是我的最爱
>

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

2006年10月31日 星期二 18:19

Linker Lin linkerlin88在gmail.com
星期二 十月 31 18:19:17 HKT 2006

有所见所得的支持绝对定位的工具=>BOA

On 10/31/06, jiang hongbo <larkdream在gmail.com> wrote:
>
>    呵呵,我现在用的就是wxglade,不过好像不支持绝对定位,有时候不方便。那位知道有所见所得的支持绝对定位的工具吗?
>   我想请教limodou的可不是XML的自动补全哦,事实上具体说是两个问题:
>   1.在python中变量名可以指派不同的类型,
> 也就是说变量名所指向的类型在运行时是可变的,那么在编辑器中是如何得到变量名所指派的类型来进行补全的呢?
>   2.在使用XRC时,通过xrc.XRCCTRL所得到的变量的类型依赖于XML文件,limodou
> 的UliPad是否会通过分析XRC文件来得到变量的具体类型进行自动补全?
>   当然,这事实上是动态类型共有的问题,并不是由使用XRC带来的。
>
> 2006/10/31, 大熊 <bearsprite在gmail.com>:
> >
> 其它一些wxwidgets的GUI工具都可以很方便地设计界面,输出XRC,比如wxDesigner、DialogBlock,wxDesigner还可以生成相应的python代码,可惜这些都是商业工具
> >
> > 不过,感谢开源,还有wxglade <http://wxglade.sourceforge.net/>,也是一个不错的工具,可以试试
> >
> > 在06-10-30,jiang hongbo <larkdream在gmail.com> 写道:
> > >
> > >  受教了,XRC的确有着自己的优势。
> > >
> > >
> > >
> >
> 但我想没有任何技术会只有优势没有缺点的。比如这里我就想采用XML作为资源文件,用户必须学习XML的语法(虽然XML的语法非常简单);同时,还必须同时维护几个不同的文件。IDE设计界面则是方便了,但也会给IDE的自动补全带来了一定的困难。不知道
> > > limodou是如何解决这个问题的?
> > >
> > >
> > >
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese在lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > > Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > >
> >
> >
> >
> > --
> > 茫茫人海,你是我的最爱
> >
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
Linker M Lin
linkerlin88在gmail.com
  ※※※※※※※※※
  ※※我思故我在※※
  ※※※※※※※※※
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20061031/7bc52b5b/attachment.html 

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

2006年10月31日 星期二 22:48

limodou limodou在gmail.com
星期二 十月 31 22:48:43 HKT 2006

On 10/31/06, jiang hongbo <larkdream在gmail.com> wrote:
>    呵呵,我现在用的就是wxglade,不过好像不支持绝对定位,有时候不方便。那位知道有所见所得的支持绝对定位的工具吗?
>   我想请教limodou的可不是XML的自动补全哦,事实上具体说是两个问题:
>   1.在python中变量名可以指派不同的类型,也就是说变量名所指向的类型在运行时是可变的,那么在编辑器中是如何得到变量名所指派的类型来进行补全的呢?

UliPad目前可以判断变量的类型,但是在相对简单的情况下,如:

a = "string"

这样ulipad是可以判断的。但是如果一会你赋了一个字符串,一会又是整数,可能还是有问题。这种处理比较麻烦,需要自已实现类似的语法分析,ulipad的主模块中module/PyParse.py中。次模块主要是处理源文件与动态分析的,在acp/python/import_utils.py中,比较麻烦

xrced可以实现绝对定位,但是只能预览,不能所见即所得。pycard可以所见即所得,但是功能有限,而且是自已的资源格式。但是我感觉wxGlade好象可以绝对定位吧,不过我没怎么用过,手写代码很多。

>   2.在使用XRC时,通过xrc.XRCCTRL所得到的变量的类型依赖于XML文件,limodou的UliPad是否会通过分析XRC文件来得到变量的具体类型进行自动补全?
>   当然,这事实上是动态类型共有的问题,并不是由使用XRC带来的。
>
这个不行。这样太复杂了。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号