J'ai un cadre wx où j'ai un certain nombre de cases à cocher. Si souvent, lorsque l'utilisateur change les paramètres dans un menu déroulant (wx.ComboBox), je voudrais effacer toutes les cases à cocher. À l'heure actuelle, j'ai mis en place une méthode qui est appelée lorsqu'un changement dans le ComboBox arrive et il efface chaque case à cocher manuellement, à savoir:Comment parcourir toutes les instances de wx.CheckBox?
def ClearCheckBoxes(self):
self.cb_EnableControl.SetValue(0)
self.cb_EnableRun.SetValue(0)
self.cb_EnablePower.SetValue(0)
...
...
Bien que je ne dispose que de 10 d'entre eux, ma méthode ClearCheckBoxes serait beaucoup plus propre si elle était quelque chose comme ceci:
def ClearCheckBoxes(self):
for CheckBox in self.AllCheckBoxes:
CheckBox.SetValue(0)
aussi, je suppose que je pourrais créer une liste (c.-à-AllCheckBoxes
) et ajoutez toutes les cases à la liste que je les crée, et il serait alors seulement une question de itérer à travers la liste. Mais le point ici est que j'aimerais savoir s'il y avait une façon prédéfinie de le faire.
Merci
Merci @lacks. J'ai essayé ce que vous avez mentionné ci-dessus mais obtenez l'erreur suivante: 'TypeError: objet 'WindowList' n'est pas appelable' sur l'appel self.Children() – jairo
Avez-vous cela fonctionne? Si non, qu'est-ce que le soi? – Iacks