嗨,我正在尝试从 wxBoxSizer(wxVERTICAL) 中删除所有元素(包括 wxSizers 和 wxWindows)。我使用的层次结构如下面的截图所示。
- wxBoxSizer(wxVERTICAL) :这包含所有内容,我想删除此 sizer 中的所有内容。让我们称这个 sizer 为 mainSizer。
- wxPanel:我们称它为 elementPanel
- wxBoxSizer(wxVERTICAL):这包含第 4 步中的水平尺寸器
- wxBoxSizer(wxHORIZONTAL):这包含 wxStaticText 和水平间隔
- wxStaticText 包含我要显示的文本
- wxBoxSizer(wxHORIZONTAL):这是固定宽度的水平间隔。
请注意,静态文本上方和下方还有两个垂直间隔,以使静态文本垂直居中,但我没有在图中显示它们。
我只有一个 mainSizer 和许多这样的 elementPanel 垂直放置,因为包含 mainSizer 是垂直的。现在我想从 mainSizer 中删除所有垂直放置的 elementPanel(以及其中的所有内容)。我怎样才能做到这一点?wxsizer 有与之关联的 id 吗?如果没有,我如何从程序的另一部分找到这个特定的 mainSizer,以便我可以删除其中的所有内容。也就是说,我想删除我在 mainSizer 中添加的所有 elementPanel(以及里面的所有内容),但不删除 mainSizer 本身。
我想我可以在 wxPanel 中使用 mainSizer 并使用它的 id 来访问 mainSizer。但是问题仍然存在,我如何从 mainSizer 中删除每个子项(包括 sizer 和 wxWindow)?