我有一个非常令人沮丧的尺寸问题。
我wxFlexGridSizer
在一个 vertical 中有两个 s (和其他一些东西)wxBoxSizer
,如下所示:
mMainSizer->Add(topsizer, wxSizerFlags(0).Expand());
mMainSizer->Add(1, lineheight);
mMainSizer->Add(mTypeLabel);
mMainSizer->Add(mTypeSizer, wxSizerFlags(0).Expand());
mMainSizer->Add(1, lineheight);
每个wxFlexGridSizer
都使用相同的代码填充:
sizer->Add(label, wxSizerFlags(1).Expand());
sizer->Add(fieldwidth, 1); // To separate label and data
sizer->Add(data, wxSizerFlags(0).Border(wxRIGHT, rborder).Right());
但是wxFlexGridSizer
s 并没有Expand
像我打算的那样被编辑到相同的宽度。具有较小label
s 的下一个总是比上一个窄,从而使data
它们之间的字段未对齐。由于它们都添加了Expand()
标志,因此较窄的应扩展为与较宽的相同的宽度,对吗?
(我什至尝试将Right()
标志添加到较低的标志,将其添加到 时wxBoxSizer
,但它什么也没做,这真的让我感到困惑。)
任何人都可以通过指出我哪里出错来挽救我的理智吗?
编辑:据我所知,这是一个 wxWidgets 错误。该Expand
标志应该告诉垂直尺寸器中的项目将自身扩展到最大宽度。如果我错了,请有人纠正我。