如何将个人代码添加到wxFormBuilder生成的类中

问题描述 投票:0回答:3

我玩Eclipse + wxWidgets + wxFormBuilder

我使用

wxFormBuilder
进行 GUI 设计。它生成 2 个类:第一个是基类;第二个继承第一个来实现按钮点击等功能。但是每次我在 wxFormBuilder 中进行更改时,这两个文件都会重新生成。

我想知道如何向继承的类添加一些代码。例如,我有 listboxbuttonmenu item。当用户按下 button 或选择 menu item 时,我想执行相同的操作(向 listbox 添加一些字符串)。因此我想实现通用功能“action”。我将在 buttonmenu item 处理程序中调用此函数。我应该在哪里声明这个函数及其实现以避免删除手动代码?

谢谢。

c++ user-interface wxwidgets wxformbuilder
3个回答
4
投票

wxFormbuilder 能够为您生成派生类。位于“工具”->“生成继承类”下。

此代码仅在您调用此工具时生成,因此很可能只生成一次。它派生自自动生成的类。您使用此类并可以在其中实现您的东西。

所以,通常的工作流程是这样的:

  • 在 formbuilder 中构建框架/面板
  • 生成继承类
  • 在继承类中实现处理代码
  • 在 wxFormbuilder 中对表单/面板进行更改 -> 只会影响生成的类,而不影响继承的类

0
投票

有我自己的 wxFormBuilder 继承类的代码生成器,它保留手动代码wxFUp455


0
投票

我所做的是:当我完成 GUI 布局后,我保存 FormBuilder 文件,并生成包含继承类的文件。 然后我将继承的类文件复制到一个单独的工作文件中。 然后,我编辑工作文件以从继承的类继承主类。然后我可以根据需要编辑工作文件以添加事件处理程序等。

如果 GUI 需要更改,我会使用 FormBuilder 更改它,保存 FB 文件并重新生成继承的类文件。 然后,这将在工作文件中重新继承。 GUI 已更新,但工作文件不受影响。

这对我来说效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.