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

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

谢谢

有帮助吗?

解决方案

当您创建 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!")
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top