之前我曾经介绍过 wxPython 界面设计的工具 BOA(见这里),但是那个主题只有一篇文章,不是因为我太懒,而是 BOA 在稳定性和工具风格上不太合我的胃口。
相对于功能追求全面而强大的 BOA,wxFormBuilder 则只专注于 UI 的设计,并生成框架代码,和 GTK 的工具 Glade 非常相似。
wxFormBuilder 并不是为 wxPython 而生,它不仅可以生成 Python 代码,还支持生成 C++ 和 XRC 代码。的确是使用 wxWidget 用户的福音!
wxFormBuilder 对于初始次用的用户来说,确实上手不太容易,因为在它的工程中,无法看到一整个 wx.App()。在 wxFormBuilder 的概念中,UI 的承载容器是:Frame、Panel、Dialog、MenuBar 和 ToolBar 等组件。所以在创建好这些 UI 组件之后,还需要手动创建一个 wx.App() 使这些组件能够展现给用户。
使用 wxFormBuilder 进行设计的步骤是:
1、首先增加上述所说的组件;
2、在组件中放入各种 Sizer;
3、添加各种控件;
4、添加控件响应动作;
5、自动生成代码;
然后就可以根据自己的需要,对代码进行重新组织了。
在这个过程中,wxFormBuilder 只负责界面布局、事件绑定和事件接口初始化的部分;剩下的完全由用户来发挥了。