C++ wxSmith是管理wxPanel的好方法

C++ wxSmith是管理wxPanel的好方法,c++,wxwidgets,C++,Wxwidgets,我有一个项目,我想有许多wxPanel显示或隐藏,这取决于用户的选择。所有面板位于同一位置,一次只显示一个 在代码方面,根本没有问题。变得棘手的是,如何使用wxSmith管理这一点,并在样本位置有许多wxpanel的同时保持清晰的视图 一种真正不合适的方法是使用wxNotebook,然后在启动软件时删除所有选项卡,然后显示所需的面板 我环顾四周,试图将面板放在“其他”wxSmith窗口上,然后像类一样加载它,但没有找到任何好的 我敢肯定,因为wxSmith确实是一个很棒的工具,所以它必须有办法做

我有一个项目,我想有许多wxPanel显示或隐藏,这取决于用户的选择。所有面板位于同一位置,一次只显示一个

在代码方面,根本没有问题。变得棘手的是,如何使用wxSmith管理这一点,并在样本位置有许多wxpanel的同时保持清晰的视图


一种真正不合适的方法是使用wxNotebook,然后在启动软件时删除所有选项卡,然后显示所需的面板

我环顾四周,试图将面板放在“其他”wxSmith窗口上,然后像类一样加载它,但没有找到任何好的

我敢肯定,因为wxSmith确实是一个很棒的工具,所以它必须有办法做到这一点

谢谢你的帮助

请参见“使用wxNotebook,然后在启动软启动时删除所有选项卡,然后显示所需的面板,这是一种非常不合适的方法。”

为什么不呢?我使用这种技术来进行测试,效果很好。好的一面是,您可以在RADGUI构建器上正常地设计每个页面

我创建了一个名为GUI_NotebookPageData的类,该类包含指向单个笔记本页面的指针。创建一个数组,保存所有笔记本页面的信息

然后,通过索引或名称获取要显示/隐藏的页面的信息,并使用wxNotebook的RemovePage()/InsertPage()方法


这种方法特别适用于同时显示多个页面。

实际上,可以将外部资源与wxSmith一起使用,这样管理框架就非常简单了

它在一个新的wxSmith窗口上从wxPanel(或其他窗口)创建一个派生类,很容易管理,然后只需要将其包含在项目中