这是一个关于 wxBoxSizer 的问题。我正在实现一个自定义 wxWidget,如可折叠 Pane 。
问题是:我有一个 wxBoxSizer (Sizer1),我添加了另一个 wxBoxSizer (Sizer2) 作为它的子级。如果我更改 Sizer2 的大小,我如何让 Sizer1 自动或手动更新它的大小?
在 Sizer2 上调用 SetSize() 后,我尝试在 Sizer1 上调用 Fit() 和 Layout(),但它不会更改 Sizer1 的大小.
请帮忙,谢谢!
最佳答案
wxWidgets 中的布局总是从上到下工作,改变子窗口或子尺寸器的大小永远不会改变包含窗口的大小。如果您确实希望发生这种情况,请在父窗口上调用 Fit()
以告诉它应该变得与其子窗口所需的一样大。请注意,在面板上调用它仍然不够,您需要在顶层 wxFrame
或 wxDialog
本身上执行它,除非您有一些可用空间可用于适应不断增加的面板尺寸。
关于wxwidgets - wxWidget : How do change the size of the parent Sizer according to the size of the children sizers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37335930/