Salut à tous,
Voilà, j'ai un petit problème avec mes variables, je m'explique :
J'ai crée une liste, dans laquelle je met d'autres listes:
Cette liste permet d'initialiser des widgets. Je crée une fenêtre, puis j'initialise les données dans les widgets correspondants de cette fenêtre. Là, l'utilisateur peut avec des wx.TextCtrl éditer ces données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.liste=[["Titre","Source",["1ere possibilite","2eme possibilite",etc ...],"Numéro"],["Titre2","Source2",["1ere possibilite","2eme possibilite",etc ...],"Numéro2"],etc ...]
self.liste[0] permet d'initialiser une fenêtre
self.liste[1] permet d'initialiser une autre fenêtre
et cela autant qu'il y a de listes dans ma self.liste
Je ne veux pas toucher directement à cette liste.
L'utilisateur ne peut modifer les données que d'une fenêtre à la fois. C'est la raison pour laquelle je veux isoler le self.liste[K] correspondant à la fenêtre K.
Donc, je vais assigner une autre variable à cet effet:
pour la fenêtre 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.isoler=self.liste[0]
J'utilise cette liste pour initialiser des données dans les widgets de ma fenêtre 0. L'utilisateur va modifier ces données dans les wxwidgets. Mais je veux que ces données se mettent à jour en temps réel dans mon self.isoler.
Je lie donc mes widgets à des fonctions:
Dans ces fonctions je demande de modifier ma liste self.isoler en fonction des modifications que l'utilisateur fera dans les wxwidgets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.Bind(wx.EVT_WIDGET,self.fonction,self.wxwidget)
Et par hasard j'ai fait un print self.isoler,self.liste, et je me suis aperçu que ma self.liste recevait exactement les mêmes modifications que mon self.isoler, alors que je ne veux rentrer mon self.isoler que lorsque l'utilisateur aura appuyé sur le bouton final "Terminé" qui ferme la fenêtre et sauvegarde donc les modifications dans la self.liste ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 def fonction(self,evt): self.isoler[0]="Mon Titre" def fonction1(self,evt): self.isoler[2]=[self.widget1.GetValue(),self.widget2.GetValue()] etc ...
Ma question était donc de savoir comment rendre ces deux variables indépendantes ... C'est à dire qu'elles ne seraient plus liées et que la modification de l'une n'entrainerait pas la modification automatique de l'autre ...
Merci de vos réponses
Partager