2009-10-21 9 views

回答

5

当你创建一个wx.StaticBoxSizer,你必须在wx.StaticBox将它作为初始化的第一个参数,这是你需要修改,以更改标签的内容。如果你看一下类层次结构,他们去如下:

  • 对象 - >对象 - > EvtHandler - >窗口 - >控制 - > StaticBox
  • 对象 - >对象 - >仪 - > 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!")