Modifica l'etichetta StaticBoxSizer su wxPython
-
05-07-2019 - |
Domanda
Esiste un modo per modificare l'etichetta di uno StaticBoxSizer su wxPython dopo l'inizializzazione?
Non sono riuscito a trovare nulla sulla documentazione di wxPython.
Grazie
Soluzione
Quando crei un wx.StaticBoxSizer
, devi passare un wx.StaticBox
come primo argomento dell'inizializzatore, questo è ciò che devi modificare per cambiare l'etichetta. Se guardi le gerarchie di classi, vanno come segue:
- oggetto - > Oggetto: > EvtHandler - > Finestra - > Controllo - > StaticBox
- oggetto - > Oggetto: > Sizer - > BoxSizer - > StaticBoxSizer
Come avrai capito, SetLabel
non è un metodo del sizer o di uno dei suoi genitori, ma vive nella classe Control, quindi la scatola lo eredita.
# 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!")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow