Pergunta

Existe uma maneira de modificar o rótulo de um StaticBoxSizer em wxPython após a inicialização?

Eu não poderia encontrar qualquer coisa na documentação do wxPython.

Obrigado

Foi útil?

Solução

Quando você cria um wx.StaticBoxSizer, você deve passá-lo um wx.StaticBox como o primeiro argumento do inicializador, este é o que você precisa modificar para alterar o rótulo. Se você olhar para as hierarquias de classe, eles vão como se segue:

  • objeto -> Object -> EvtHandler -> Janela -> Controle -> StaticBox
  • objeto -> Object -> Sizer -> BoxSizer -> StaticBoxSizer

Como você pode ter descoberto, SetLabel não é um método do calibrador ou qualquer de pais, em vez vive na classe de controle, de modo que os herda caixa-lo.

# 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!")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top