wxGlade & wxFormBuilder
来源:互联网 发布:android网络开发 编辑:程序博客网 时间:2024/05/01 13:20
最近在使用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不行
- wxGlade & wxFormBuilder
- wxWidgets和wxFormbuilder(参考)
- wxFormBuilder + codelite feels good.
- wxWidgets和wxFormbuilder(参考)
- wxFormBuilder-ui辅助设计
- wxGlade中控件的layout属性说明
- 用wxformbuilder设计wxwidgets GUI 界面
- 简单使用python GUI工具 wxFormBuilder
- wxWidgets/wxPython的开源界面设计器wxGlade-0.4.1的预览问题
- Windows上配置 Code::Blocks + wxWidgets + ( wxSmith | wxFormBuilder )
- Windows上配置+Code::Blocks+++wxWidgets+++(wxSmith+| wxFormBuilder+)
- CodeLite简单就是为wxWidgets/wxFormBuilder用户量身打造!
- 跨平台 GUI 框架 wxWidgets和UI开发工具 wxFormBuilder
- 如何使用wxFormBuilder 3.0创建你的Form
- 界面设置——结合vs2015,使用wxFormBuilder
- 不使用WxSmith和WxFormBuilder生成界面,手工输写基于WxWidgets程序的配置方法
- CODE::BLOCKS+wxWidgets+MinGW+wxFormBuilder在windows下开发GUI程序
- windows下codeblocks+wxWidgets+MinGW+wxFormBuilder开发win32 GUI环境的搭建
- 学习
- 连接SQL数据库的驱动类和连接字符窜
- C#实现百度中的搜索框的下选效果!
- 随笔
- 使用Monitor,Synchronization Domains, ReadWriteLock,和Immutable对象实现线程安全
- wxGlade & wxFormBuilder
- c++中__declspec用法总结
- 不同数据库分页
- Thread-Per-message Pattern--JAVA多线程编程模式(7)
- 开卷有益
- 读书摘要--Inside The C++ Object Model
- Ajax并应用于xslt的服务器端的转换
- [Revolution]2009-3-8
- 开始上路