将wxPython StaticText添加到sizer中

问题描述 投票:0回答:2

我有一个带有标题的尺寸调整器:

    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...

数字代表其他对象文本。

python wxpython
2个回答
1
投票

创建垂直方向的BoxSizer。将标签和FlexGridSizer添加到BoxSizer。将Box sizer设置为面板/框架/其他尺寸,而不是FlexGridSizer。那应该就做。

彼此之间嵌套大小调整器是一项功能强大且非常有用的东西。


0
投票

我不确定python,但是使用C ++,我们可以使用wxStaticBoxSizer,因为它支持标签显示,与tkinter中的LabelFrame或其他语言中的group / frame相同。

您应该首先通过另一个BoxSizer / GridBoxSizer来布局gui,然后在其中添加StaticBoxSizer,这样您会得到更好的外观。

Ex:

wxStaticBoxSizer *sizer = new wxStaticBoxSizer(wxVERTICAL, panel, "Label here");
© www.soinside.com 2019 - 2024. All rights reserved.