[Résolu] referencer des instances creees par une fonction...

referencer des instances creees par une fonction... [Résolu] - Python - Programmation

Marsh Posté le 05-03-2010 à 14:52:08    

Bonjour tout le monde,
 
Je suis en train d'apprendre Python, et je me demandais s'il etait possible d'attribuer une reference a une instance d'objet creee dans une boucle ou par une fonction, la reference indiquant le "compteur" de la boucle ou un parametre de la fonction. Je suppose ici que le probleme est le meme dans les deux cas.
 
Par exemple, si je veux creer 5 boutons dans une fenetre Tk, ca donnerait quelquechose comme ca:
 
for i in range(5):
    Button(master, text = "bouton %d" % (i), command = truc).grid(row = i)
 
Mais je voudrais que chaque bouton possede sa reference propre, du genre:
 
for i in range(5):
    ??? = Button(master, text = "bouton %d" % (i), command = truc)
    ???..grid(row = i)
 
 
Avec une fonction, ca pourrait donner:
 
def creer_bouton(numerobouton):
    ??? = Button(...
 
ce qui devrait creer un bouton reference avec le "numerobouton" (du genre "b1" si j'ai appele creer_bouton(1))
 
Je suis relativement debutant, quelqu'un peut-il m'aider? Merci!
 
Fabrice

Message cité 1 fois
Message édité par boulash le 26-03-2010 à 09:28:57
Reply

Marsh Posté le 05-03-2010 à 14:52:08   

Reply

Marsh Posté le 07-03-2010 à 19:35:56    

boulash a écrit :

Bonjour tout le monde,
 
Je suis en train d'apprendre Python, et je me demandais s'il etait possible d'attribuer une reference a une instance d'objet creee dans une boucle ou par une fonction, la reference indiquant le "compteur" de la boucle ou un parametre de la fonction. Je suppose ici que le probleme est le meme dans les deux cas.
 
Par exemple, si je veux creer 5 boutons dans une fenetre Tk, ca donnerait quelquechose comme ca:
 
for i in range(5):
    Button(master, text = "bouton %d" % (i), command = truc).grid(row = i)
 
Mais je voudrais que chaque bouton possede sa reference propre, du genre:
 
for i in range(5):
    ??? = Button(master, text = "bouton %d" % (i), command = truc)
    ???..grid(row = i)


 

Code :
  1. tabBtn=[]
  2. for i in range(5):
  3.    tabBtn.append(Button(master, text = "bouton %d" % (i), command = truc))
  4.    tabBtn[i].grid(row=i)
  5. # for

Message cité 1 fois
Message édité par Sve@r le 07-03-2010 à 19:37:05

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 07-03-2010 à 21:50:36    

Sve@r a écrit :


 

Code :
  1. tabBtn=[]
  2. for i in range(5):
  3.    tabBtn.append(Button(master, text = "bouton %d" % (i), command = truc))
  4.    tabBtn[i].grid(row=i)
  5. # for



 
+1 une liste de bouttons me semble la meilleure solution


---------------
Counting all the assh*les in the room, well I'm definitely not alone...
Reply

Marsh Posté le 26-03-2010 à 09:21:21    

Ca marche!
Merci bien.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed