修改wxPython上的StaticBoxSizer标签

时间:2009-10-21 21:08:37

标签: wxpython

有没有办法在初始化后修改wxPython上的StaticBoxSizer的标签?

我在wxPython的文档中找不到任何内容。

谢谢

1 个答案:

答案 0 :(得分:5)

创建wx.StaticBoxSizer时,必须将wx.StaticBox作为初始化程序的第一个参数传递,这是您需要修改以更改标签的内容。如果查看类层次结构,它们如下所示:

  • 对象 - >对象 - > EvtHandler - >窗口 - >控制 - > StaticBox
  • 对象 - >对象 - > Sizer - > BoxSizer - > StaticBoxSizer

正如您可能已经想到的那样,SetLabel不是sizer或其任何父级的方法,而是存在于Control类中,因此该框继承了它。

# creating the static box sizer
self.my_box = wx.StaticBox(self.panel, wx.ID_ANY, "Spam, spam, spam")
self.sizer_static_box = wx.StaticBoxSizer(self.my_box)

# then do something like this later        
self.my_box.SetLabel("I hate spam!")