Question

Existe-t-il un moyen de modifier l’étiquette d’un StaticBoxSizer sur wxPython après l’initialisation?

Je n'ai rien trouvé dans la documentation de wxPython.

Merci

Était-ce utile?

La solution

Lorsque vous créez un wx.StaticBoxSizer , vous devez lui passer un wx.StaticBox en tant que premier argument de l'initialiseur. Voici ce que vous devez modifier pour le modifier. l'étiquette. Si vous regardez les hiérarchies de classes, elles se présentent comme suit:

  • objet - > Objet - > EvtHandler - > Fenêtre - > Contrôle - > StaticBox
  • objet - > Objet - > Sizer - > BoxSizer - > StaticBoxSizer

Comme vous l'avez peut-être compris, SetLabel n'est pas une méthode du sizer ni de ses parents, il réside dans la classe Control, donc la boîte en hérite.

# 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!")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top