zoukankan      html  css  js  c++  java
  • wxGlade & wxFormBuilder

    wxGlade & wxFormBuilder_cat89_新浪博客

        wxGlade & wxFormBuilder
        (2011-07-25 11:42:21)
        转载▼
        标签:
        python
        wxglade
        it
            分类: Python
        最近在使用wxPython写一个编辑器,做界面使用了wxGlade,以前我只用过wxWidgets+wxFormBuilder的组合,感觉wxPython+wxGlade确实效率更高些,当然这受益于python语言的简洁易用。

        几点使用体会:

        1)wxGlade自动生成的代码可以和自己写的代码和平共处。在使用wxFormBuilder时,除了生成界面代码,还要生成派生类代码,这样界面代 码不需要做任何修改,自己的代码直接写在派生类中。这种方法比较面向对象了,但是缺点是派生类代码生成后如果要改变,就必须合并自己写的代码。而 wxGlade生成的界面代码可以往里面添加自己的代码,界面改变后重新生成代码并不会删除你自己的代码。这主要靠代码中的一些wxGlade标记注释实 现。比如# begin wxGlade: MainFrame.__init__和# end wxGlade之间的代码是wxGlade生成的,你不能在这里面加代码,否则会被覆盖掉,但在外面加就没问题了。

        2)使用方式方面wxGlade和wxFormBuilder基本差不多。都支持自定义控件。不过wxFormBuilder需要填自定义控件的构造等, 而wxGlade只要填一个类名。使用是简单了,但是没法自己写构造函数,比如我使用了一个wx.gizmos.TreeListCtrl,构造时想加入 一些style是不行了。另外,wxGlade也不支持wxAUI,还是很遗憾的。

        3)wxGlade的菜单和工具条编辑器不能使用wxArt提供的图片,只能使用外部载入的图片。

        4)wxGlade不能自动生成id的define,我只能填一个数,不过在菜单上可以填-1,因为事件绑定是使用名字,而工具条就不行了,只能填数了。 不过wxPython的事件绑定使用方式和wxWidgets不太一样,wxFormBuilder是自动生成id的define的,事件通过id绑定, 工具条和菜单使用同一id即可关联。而wxPython+wxGlade时,我是通过填入相同的事件处理器来完成。不过他们都没有SWT的菜单和工具条关 联的机制方便~ SWT很久没用了,依稀记得只要定义action即可

        5)Layout编辑还OK,wxGlade还可以更换sizer的类型,貌似wxFormBuilder不行

        转自:http://blog.csdn.net/n5/archive/2009/03/08/3968504.aspx
  • 相关阅读:
    Pills
    项链
    IIS7.5 关于ASP连接ACCESS数据库超时问题
    清明
    The New Beginning
    新的开始
    Mysql中文乱码以及导出为sql语句和Excel问题解决
    Spring学习笔记01. 入门知识,IoC/DI
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PAT
    Django框架 python3.7+django2.2 报错:AttributeError: ‘str’ object has no attribute ‘decode’解决办法
  • 原文地址:https://www.cnblogs.com/lexus/p/2818852.html
Copyright © 2011-2022 走看看