我玩Eclipse + wxWidgets + wxFormBuilder
我使用
wxFormBuilder
进行 GUI 设计。它生成 2 个类:第一个是基类;第二个继承第一个来实现按钮点击等功能。但是每次我在 wxFormBuilder 中进行更改时,这两个文件都会重新生成。
我想知道如何向继承的类添加一些代码。例如,我有 listbox、button 和 menu item。当用户按下 button 或选择 menu item 时,我想执行相同的操作(向 listbox 添加一些字符串)。因此我想实现通用功能“action”。我将在 button 和 menu item 处理程序中调用此函数。我应该在哪里声明这个函数及其实现以避免删除手动代码?
谢谢。
wxFormbuilder 能够为您生成派生类。位于“工具”->“生成继承类”下。
此代码仅在您调用此工具时生成,因此很可能只生成一次。它派生自自动生成的类。您使用此类并可以在其中实现您的东西。
所以,通常的工作流程是这样的:
有我自己的 wxFormBuilder 继承类的代码生成器,它保留手动代码wxFUp455
我所做的是:当我完成 GUI 布局后,我保存 FormBuilder 文件,并生成包含继承类的文件。 然后我将继承的类文件复制到一个单独的工作文件中。 然后,我编辑工作文件以从继承的类继承主类。然后我可以根据需要编辑工作文件以添加事件处理程序等。
如果 GUI 需要更改,我会使用 FormBuilder 更改它,保存 FB 文件并重新生成继承的类文件。 然后,这将在工作文件中重新继承。 GUI 已更新,但工作文件不受影响。
这对我来说效果很好。