IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GUI Python Discussion :

passage de paramètres


Sujet :

GUI Python

  1. #1
    jnore
    Invité(e)
    Par défaut passage de paramètres
    Bonjour à tous.

    Je suis débutant en Python, je suis originaire de la programmation web.
    Je rencontre une difficulté avec Pmw.
    J'essaie de générer un GUI, sachant que les éléments à créer proviennent d'un fichier xml.

    Le fichier xml est du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?xml version="1.0" encoding="utf-8"?>
    <root>
    	<ScrolledFrame  hull_width ="400" hull_height="100" usehullsize = "1">
    		<ScrolledFrame hull_width="50" hull_height="50"  usehullsize = "1">
    		</ScrolledFrame>
    	</ScrolledFrame>
    </root>
    Pour la récupération des balises et des attributs, pas de problème.
    La où ça coince, c'est quand je dois configurer un widget avec les attributs provenant du xml.
    Au début j'avais pensé très simplement (naïvement ?) à faire une boucle sur les attributs présents sur chacune des balises pour configurer les widgets de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    widget.configure(attr = val)
    où attr est une variable qui contient le nom de l'option et val, la valeur provenant du xml.

    Le problème se présente donc:
    Pmw ne reconnait pas attr, il attend que celui-ci soit un paramètre valide, ce qui effectivement n'est pas le cas.

    Comment dois-je faire pour que attr soit reconnu par la méthode "configure()"?

    Merci d'avance pour vos conseils.
    Dernière modification par jnore ; 19/12/2009 à 20h30. Motif: faute d'orthographe

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    C'est cela que tu cherche ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
    [GCC 4.3.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from Tkinter import *
    >>> maval = 'red'
    >>> monopt = 'bg'
    >>> l = Label()
    >>> l[monopt] = maval
    >>> print l[monopt]
    red
    >>> l.pack()
    >>>
    @+

    Edit : Et cela fonctionne aussi avec Pmw bien sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> import Pmw
    >>> root = Pmw.initialise()
    >>> counter1 = Pmw.Counter()
    >>> counter1.pack(padx = 10, pady = 10)
    >>> opt = 'datatype'
    >>> val = 'time'
    >>> counter1[opt] = val
    >>> print counter1[opt]
    time
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    jnore
    Invité(e)
    Par défaut
    Merci de t'être intéressé à mon problème.

    Cela fonctionne.
    J'ai du par contre rajouter un str sur la variable "attr" car j'avais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TypeError: configure() keywords must be strings
    En faisant un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    widget[str(attr)]= val
    tout devient ok.

    Encore merci

    Jnore

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Normal : Je suis parti d'un string (>>> monopt = 'bg').

    Résolu ?
    Merci d'utiliser le forum pour les questions techniques.

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo