【问题标题】:wxWidget: How do change the size of the parent Sizer according to the size of the children sizers?wxWidgets:如何根据子大小的大小改变父Sizer的大小?
【发布时间】:2016-05-20 00:00:07
【问题描述】:

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

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

在 Sizer2 上调用 SetSize() 后,我尝试在 Sizer1 上调用 Fit() 和 Layout(),但它不会更改 Sizer1 的大小.

请帮忙,谢谢!

【问题讨论】:

    标签: wxwidgets


    【解决方案1】:

    wxWidgets 中的布局总是从上到下工作,改变子窗口或子大小的大小永远不会改变包含窗口的大小。如果您确实希望发生这种情况,请在父窗口上调用 Fit() 告诉它应该变得与其子窗口所需的一样大。请注意,在面板上调用它仍然不够,您需要在顶层 wxFramewxDialog 本身上执行它,除非您有一些可用空间可用于容纳不断增加的面板尺寸。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-15
        • 2014-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多