wxWidgets BoxSizer没有扩展到全宽

时间:2013-06-23 02:55:24

标签: c++ layout wxwidgets

好的,所以我对一些wxWidgets sizer以及我认为他们应该采取行动但是没有采取行动有疑问......

Minimum size

Bigger size

我对这些图片的设置是这样的:

verticalBox = new wxBoxSizer(wxVERTICAL);
serverBarBox = new wxBoxSizer(wxHORIZONTAL);

serverBarBox->Add(serverEntry, 5);
serverBarBox->Add(portEntry, 1);

verticalBox->Add(serverBarBox, wxEXPAND);

现在我认为serverBarBox会扩展以占用整个宽度,但事实并非如此。我怎么用wxBoxSizer来实现这个目的。

1 个答案:

答案 0 :(得分:2)

您将wxEXPAND作为一个比例传递,而不是作为它的旗帜。

为避免此类问题,请使用更清晰的wxSizerFlags,而不是直接传递所有sizer参数。例如。用它来重写上面的代码

serverBarBox->Add(serverEntry, wxSizerFlags().Proportion(5));
serverBarBox->Add(portEntry, wxSizerFlags().Proportion(1));

verticalBox->Add(serverBarBox, wxSizerFlags().Expand());