创建wxWidget应用程序的首选方法是什么:在代码中使用GUI工具或程序化?

zoo*_*opa 0 c++ user-interface wxwidgets gui-designer

我使用wxWidgets在工作中创建测试工具.我总是通过在代码中创建小部件来创建GUI.我没有尝试任何可用的工具来帮助这样做.wxWidgets的其他用户通常如何创建他们的界面?如果您使用工具,您使用哪个工具?如果您使用工具,您认为使用该工具有哪些优点和缺点?

Eva*_*van 6

我使用wxFormBuilder有两个原因:

  1. 它是跨平台的,我需要能在Linux上运行的东西.
  2. 我是wxWidgets的新手,我不想花费大量时间来构建GUI.

我认为它工作得很好,熟悉类似的GUI构建工具(Borland C++ Builder,Jigloo for Java,Delphi),我觉得它很容易使用.

如果您坚持使用wxFormBuilder生成基类的范例,然后创建一个继承的应用程序特定逻辑的类,绝对不能手动编辑wxFormBuilder生成的C++代码,那么它运行良好且您可以轻松实现在wxFormBuilder中再次更新和修改GUI(并再次...).

好处:

  • 可以以可视方式快速生成基本GUI,而无需不断查找文档.
  • 不必执行尽可能多的代码/编译/运行循环,只是为了确保您的GUI看起来像您期望的那样.
  • 基类/派生类范例可以使GUI和业务逻辑代码分离得相当清晰.

潜在的缺点

  • 免责声明:我只使用wxWidgets来创建非常简单,直接的GUI,因此没有真正将工具推向任何限制.
  • 如果您使用GUI进行过于复杂的操作(OTOH可能表明您可能需要重新考虑您的方法),那么基类/派生类范例可能有时会妨碍您.
  • 我有一种情况,我在为一个操作系统编译时需要一个菜单​​项,但是在为另一个操作系统编译时则不需要.wxFormBuilder中没有逻辑支持这一点.我最终采取了总是创建菜单项的快捷方式,然后让我的派生类让它看不见,如果它是错误的操作系统(不理想).

我认为就是这样.