我有一个带有标题的尺寸调整器:
self.label = wx.StaticText(self, -1, _("Elements:"))
sizer_1 = wx.FlexGridSizer(2, 5, 5, 10)
sizer_1.Add(self.label, 0, 0, 0)
我在sizer中还有许多其他对象,这些对象稍后会添加。我希望标签成为sizer第一行中的唯一对象。无论我打了多少here列出的标志我找不到如何设置它。 (我不想在整个行上刮擦标签)
我希望它看起来像这样:(下面的元素的顺序/数量是不重要的)
Elements
1 2 3 4 5 6 7
8 9
此刻我得到的是:
Elements 1 2 3
4 5 6 etc...
数字代表其他对象文本。
创建垂直方向的BoxSizer
。将标签和FlexGridSizer
添加到BoxSizer。将Box sizer设置为面板/框架/其他尺寸,而不是FlexGridSizer
。那应该就做。
彼此之间嵌套大小调整器是一项功能强大且非常有用的东西。
我不确定python,但是使用C ++,我们可以使用wxStaticBoxSizer,因为它支持标签显示,与tkinter中的LabelFrame或其他语言中的group / frame相同。
您应该首先通过另一个BoxSizer / GridBoxSizer来布局gui,然后在其中添加StaticBoxSizer,这样您会得到更好的外观。
Ex:
wxStaticBoxSizer *sizer = new wxStaticBoxSizer(wxVERTICAL, panel, "Label here");