wxWidget:如何根据子大小调整器的大小更改父Sizer的大小?

时间:2016-05-20 00:00:08

标签: wxwidgets

这是关于wxBoxSizer的问题。我正在实现像可折叠窗格一样的自定义wxWidget。

问题是:我有一个wxBoxSizer(Sizer1),我添加了另一个wxBoxSizer(Sizer2)作为它的子。如果我改变Sizer2的大小,我如何让Sizer1自动或手动更新它的大小?

enter image description here

我在Sizer2上调用SetSize()后尝试在Sizer1上调用适合()和布局(),但它并没有改变大小对于Sizer1。

请帮助,谢谢!

2 个答案:

答案 0 :(得分:2)

wxBoxSizer1已占据整个面板。因此,除非您更改面板本身的大小,否则不会调整wxBoxSizer1的大小。您可能希望尝试使用其他大小作为主要大小,例如wxFlexGridSizer。在这里,您可以有更多选择进行精确控制。

答案 1 :(得分:1)

wxWidgets中的布局始终从上到下工作,更改子窗口或子大小调整器的大小永远不会改变包含窗口的大小。如果您确实希望这样做,请在父窗口上调用Fit()告诉它应该变得与其子项一样大。请注意,在面板上调用它仍然不够,您需要在顶级wxFramewxDialog本身执行此操作,除非您在其中有一些可用于容纳增加面板尺寸。