c++ - 创建 wxWidget 应用程序的首选方法是什么 : using a GUI tool or procedurally in code?

标签 c++ user-interface wxwidgets gui-designer

<分区>

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

最佳答案

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

我想就是这样。

关于c++ - 创建 wxWidget 应用程序的首选方法是什么 : using a GUI tool or procedurally in code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/758023/

相关文章:

java - 如何在javafx中设置超链接的默认颜色?

c++ - wxwidgets 自定义事件不会传播到父窗口

python - 调整 wxPython 小部件的大小

C++创建链表并打印

c++ - 如果你正在交换 c 字符串,内存分配也会交换吗?

android - 为什么 ndk-build 会生成两个不同的库,一个很大,一个较小?

c++ - foo2.cpp :9: error: expected primary-expression before '(' token

javascript - IE中Table底部动态添加行

MATLAB slider 步进行为

c++ - 升级到非官方 wxWidgets 3.0 = > fatal error wx/wx.h : No such file or directory