PYTHON : Probleme exec et entry

Résolu/Fermé
spynaej Messages postés 4 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 7 février 2010 - 4 févr. 2010 à 15:06
spynaej Messages postés 4 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 7 février 2010 - 7 févr. 2010 à 08:41
Bonjour,

Je sèche...
Je cherche à générer dans une fonction en python (2.6.2), 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():
vardic=dict((self.lst_champs[i],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):

for i in range(nb_champs):
my_ent=self.lst_champs[i]+"=Entry(frm,textvar=vardic['"+self.lst_champs[i]+"'])"
grid_my_ent=self.lst_champs[i]+".grid(column=1,row="+str(i)+")"
my_lab="Label(frm,text='"+self.lst_champs[i]+"').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 !

8 réponses

bizire32 Messages postés 36 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 25 mars 2010
4 févr. 2010 à 16:09
je sais que je repond pas a ta question mais je voulai te demané si tu sais comment lancer un application python a partire d'une page html
0
spynaej Messages postés 4 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 7 février 2010
4 févr. 2010 à 18:23
Bonjour,
Ouh Là... euh non... Tu parles d'un script python qui serait exécuté du côté serveur (CGI) ? ou d'une page HTML codé par tes soins en vue d'interfacer un programme python ?
0
bizire32 Messages postés 36 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 25 mars 2010
4 févr. 2010 à 18:28
d'une page html
0
bizire32 Messages postés 36 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 25 mars 2010
4 févr. 2010 à 18:28
voici le code html:

<HTML>
<HEAD><TITLE>Exercice avec Python</TITLE></HEAD>
<BODY>

<DIV ALIGN="center">
<IMG SRC="penguin.gif">
<H2>Page Web interactive</H2>
<P>Cette page est associée à un script Python</P>

<FORM ACTION="input_query.py" METHOD="post">
<INPUT TYPE="submit" NAME="send" VALUE="Exécuter le script">
</FORM>

</DIV></BODY></HTML>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bizire32 Messages postés 36 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 25 mars 2010
4 févr. 2010 à 18:29
et voici le scripte python:

#! /usr/bin/python
# -*- coding: utf-8 -*-
# Affichage d'un formulaire HTML simplifié :
print "Content-Type: text/html\n"
print """
<H3><FONT COLOR="Royal blue">
Page web produite par un script Python
</FONT></H3>

<FORM ACTION="print_result.py" METHOD="post">
<P>Veuillez entrer votre nom dans le champ ci-dessous, s.v.p. :</P>
<P><INPUT NAME="visiteur" SIZE=20 MAXLENGTH=20 TYPE="text"></P>
<P>Veuillez également me fournir une phrase quelconque :</P>
<TEXTAREA NAME="phrase" ROWS=2 COLS=50>Mississippi</TEXTAREA>
<P>J'utiliserai cette phrase pour établir un histogramme.</P>
<INPUT TYPE="submit" NAME="send" VALUE="Action">
</FORM>
"""
0
bizire32 Messages postés 36 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 25 mars 2010
4 févr. 2010 à 20:18
personne pour aider
0
spynaej Messages postés 4 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 7 février 2010
4 févr. 2010 à 21:20
C'est un domaine de Python que je n'ai pas encore abordé... Ne faut-il pas déclaré le type de script dans ta page ?
Mais tu trouveras surement facilement des réponses en fouinant un peu. Et sur les références gratuites (Tuto de Swinnen et Dive into python). Bon courage
0
spynaej Messages postés 4 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 7 février 2010
7 févr. 2010 à 08:41
On m'a donné un coup de main et j'ai réalisé que mon problème était bien mal posé...
J'ai pu tout mettre dans une classe et dépasser la difficulté précédemment évoquée. Merci, et à bientôt sur le forum !
0