exec et grid

Document Actions
Réponses: 1   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

exec et grid

Posté par spynaej le 05/02/2010 14:50
Bonjour,
Je sèche...
Je cherche à générer en python (2.6.2), dans une fonction une toplevel qui me présente les données d'une base (SQLite).
Je voudrais pouvoir utiliser le même gabarit pour ensuite modifier ou ajouter une entrée dans la table.
Je voudrais aussi que les champs soient nommés automatiquement en fonction de la structure de la table.
En gros, dans ma fenêtre, je veux voir ligne par ligne :
un Label avec le nom du champ et une Entry avec la valeur. L'entry doit pouvoir être configuré par la suite (donc il faut la nommer)

Je suis passé par un dictionnaire qui me fournit les StringVar():
code:
vardic=dict((self.lst_champs,StringVar()) for i in range(nb_champs))

et par des "exec() in globals" pour attribuer automatiquement un nom à mes entry.

dans une boucle, (liée au nombre de champs):
code:
for i in range(nb_champs):
my_ent=self.lst_champs+"=Entry(frm,textvar=vardic['"+self.lst_champs+"'])"
grid_my_ent=self.lst_champs+".grid(column=1,row="+str(i)+")"
my_lab="Label(frm,text='"+self.lst_champs+"').grid(column=0,row="+str(i)+")"

exec (my_lab) in globals()
exec (my_ent) in globals()
exec (grid_my_ent) in globals()


PROBLEME : selon que lance l'exec du Label en premier ou en dernier, il apparait (centré par dessus mon entry) ou pas (en dessous ?).
Comme si la valeur de column dans grid n'était pas prise en compte alors que celle de row l'est.
Si quelqu'un a une petite idée de ce qu'il m'arrive...
un peu d'aide serait bienvenue !
Merci !
PS : à l'edit, des smiley sont apparus à la place de "'])" à la fin de deux lignes de code... pardon

Re: exec et grid

Posté par spynaej le 07/02/2010 08:44
Ok !
Mon problème était mal posé. En passant par une classe, en reprenant tout et en faisant l'impasse sur ces satanés exec.... ça marche ! Merci
A bientôt sur le forum

Python.org : Le site officiel du langage Python.
Zope.org : Le site web officiel de Zope.
Daily Python-URL : Actus de l'univers Python.
Tribute to Zyons : Zyons notre ami et membre fondateur de l'Afpy, nous quittait en 2005.