【发布时间】:2023-04-07 23:27:01
【问题描述】:
我正在构建一个 WX 应用程序,其中主窗口(“框架”)有两个内容区域:左侧的主要内容区域和右侧的侧边栏。侧边栏由一组垂直堆叠的面板组成,每个面板都包含一个标题和一个内容区域。主窗口的视图层次结构如下所示:
- 主窗口(wx.BoxSizer,水平)
- 主要内容区域(wx.Panel)
- 侧边栏(wx.BoxSizer,垂直)
- 侧边栏面板 1(wx.BoxSizer,垂直)
- 标题 1 (wx.StaticText)
- 内容区 1 (wx.Panel)
- 侧边栏面板 2(wx.BoxSizer,垂直)
- 标题 2 (wx.StaticText)
- 内容区域 2 (wx.Panel)
- 侧边栏面板 1(wx.BoxSizer,垂直)
每个侧边栏面板中的内容区域会随着我的应用程序的运行而变化,因此侧边栏面板需要能够随着内容区域的增长和缩小而自行调整大小,同样,侧边栏本身也需要能够移动其面板随着兄弟姐妹的成长和缩小,适当地上下移动。
我的问题是如何确保所有这些 sizer 都正确更新。例如,“sidebar panel 2”是它自己的类。如果它做了一些改变其内容区域大小的事情,它需要更新哪些sizer,它应该使用哪种方法来更新?哪些 sizer 应该自动更新?
(我之所以问,是因为我目前正忙于让这些侧边栏面板之一的内容区域正确更新,并且我想确保它上面的所有内容在我去重写类之前,视图层次结构中是正确的。)
【问题讨论】: