0

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

4

4 回答 4

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 中没有逻辑支持这一点。我最终采取了始终创建菜单项的捷径,然后让我的派生类在它是错误的操作系统时使其不可见(不理想。)

我想就是这样。

于 2009-04-16T23:32:46.983 回答
3

我发现我经常使用工具在 GUI 上构建第一个剪辑,当它似乎收敛到“最终”形式时,我开始手动重新编码/重构。

不过,其中一些也取决于工具。我不是 wxWidget 的忠实粉丝。

于 2009-04-16T22:11:29.847 回答
1

你知道,这取决于。例如,如果我需要一些标准行为,我通常将 DialogBlocks 用于 GUI,因为它是最快的方式。如果我需要自定义行为(例如,我当前的项目是跨平台媒体管理器,其 GUI 支持皮肤),那么我会在代码中完成所有与 GUI 相关的事情。至于自定义控件:

  • 如果控件做了一些特定于项目的事情,那么我使用相同的项目文件在 DialogBlocks 中创建它(与此项目中使用的其他表单和对话框)
  • 如果我的控件应该是可重用的(通用控件),那么我为它创建一个单独的项目并在 DialogBlocks 中创建一个骨架 - 如果可能,添加空事件处理程序和类变量,然后在 Visual Studio 中手动编写逻辑。

就是这样 :)

于 2009-04-16T21:10:58.200 回答
1

您可能想研究使用XRC/XRS 文件

虽然我必须承认我自己并没有费心这样做。只需使用 wxFormBuilder(支持 XRC,顺便说一句)生成静态 GUI 代码就足以满足我所有的(小规模)GUI 设计的需要。

于 2009-04-17T01:16:25.097 回答