我有一个标题大小:
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...
数字表示其他对象文本。
答案 0 :(得分:1)
Create a vertically oriented BoxSizer
. Add the label and the FlexGridSizer
to the BoxSizer. Set the box sizer as the sizer for your panel/frame/whatever instead of the FlexGridSizer
. That should just about do it.
Nesting sizers inside of each other is a powerful and very useful thing to learn.
答案 1 :(得分:0)
我不确定python,但是对于C ++,我们可以使用wxStaticBoxSizer,因为它支持标签显示,与tkinter中的LabelFrame或其他语言中的group / frame相同。
您应该首先通过另一个BoxSizer / GridBoxSizer来布局gui,然后在其中添加StaticBoxSizer,这样您的外观会更好。
例如:
wxStaticBoxSizer *sizer = new wxStaticBoxSizer(wxVERTICAL, panel, "Label here");