1

好的,所以我有一个关于一些 wxWidgets sizers 的问题,以及我认为它们应该如何行动但没有行动......

最小尺寸

更大的尺寸

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

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

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

verticalBox->Add(serverBarBox, wxEXPAND);

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

4

1 回答 1

2

你是wxEXPAND作为一个比例传递的,而不是作为它的标志。

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

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

verticalBox->Add(serverBarBox, wxSizerFlags().Expand());
于 2013-06-23T11:01:05.700 回答