我刚从wxWidgets开始,我找不到一种方法让 sizer 内的按钮始终以全尺寸显示
IE。不应允许用户过多地减小窗口大小。
任何帮助将不胜感激。
wxTopLevelWindow::SetMinSize允许您设置窗口可以调整到的最小尺寸。如果需要,您可以随时以编程方式使其变小。
完成向布局添加控件后,使用 GetSizer()->Fit()。
http://docs.wxwidgets.org/2.9.4/classwx_sizer.html#abad9cedc0cbe9ade2c799da23462d17e
刚刚注意到你想阻止用户。而不是 sizer,以免将窗口缩小得太远。
这样做的方法是处理调整大小事件。在处理程序中检查新大小与最小大小,如果它太小,则不允许调整大小发生。
Sizer 在其元素之间分配可用大小。如果没有足够的可用空间,将不可避免地发生一些不好的事情,即至少某些控件将没有足够的大小。
为了防止这种情况发生,您必须确保最初的顶层窗口足够大,并且用户不能将其调整为更小的尺寸。实现它的最简单方法是SetSizerAndFit(sizer)
在将 sizer 与顶层窗口关联时调用。这将同时完成这两件事。
好的,最终我得到了答案。附加到框架的 sizer 必须调用SetSizeHints()
编辑:将它称为顶级窗口是正确的,如下所示。