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

Python Discussion :

Attribut de classe : dictionnaire toujours vide


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Attribut de classe : dictionnaire toujours vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    from FichierContenantDatasetEtChangeColor import *
    
    class AutreClass :
    
         ChangeColor(setcolor = {'1870398522':'black','2682465249':'yellow','   725482860':'white'})
    
    
    --------------------------------------------------------------------------
    
    class Dataset:
       def __init__(s,request=''):
    
          c=getglob('curdatabase').cursor()
          c.execute(transreq(request))
          s.setcolor = ChangeColor().setcolor
          s.dataset=jfreechart.Datase(index=curchart.idxdataset,series=c,setcolor = s.setcolor)
          curchart.idxdataset+=1
          if not curchart.idxdomainaxis: DomainAxis()
          if not curchart.idxrangeaxis: RangeAxis()
          if not curchart.idxrenderer: Renderer()
          s.dataset.attach(range=currangeaxis.rangeaxis,domain=curdomainaxis.domainaxis,renderer=currenderer.renderer)
          if not curchart.idxplot: Plot()
          curplot.plot.add(s.dataset)
    
    
    class ChangeColor:
       def __init__(s,setcolor={'':''}):
          s.setcolor = setcolor
    --------------------------------------------------------------------------

    Voila, le probleme ici c'est que mon dictionnaire s.setcolor dans ChangeColor reste toujours vide, alors que je voudrais qu'il contienne le dictionnaire passé en argument dans AutreClasse. Par défaut , setcolor de ChangeColor est vide, ca c'est normal. Une idée?

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 396
    Points
    396
    Par défaut
    Désolé, je n'y comprends rien à ton code.
    Utilise la balise code et montre l'indentation. Ce n'est pas facile de lire.

    Je suis peut être neuneu, mais.......svp!

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut
    pas mieux ...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    la globalité du code en elle même est pas très importante, c'est juste le problème avec setcolor qui m'ennuie (dans la classe ChangeColor, s.setcolor reste toujours vide, alors que j'aimerai qu'il soit définie avec le dictionnaire mis en argument dans AutreClasse (qui appartient a un autre fichier).

    J'espère que c'est plus lisible maintenant, juste Dataset permet de personnaliser un Chart graphique implémanté à l'aide des sources jfreechart

    merci d'avance!!

  5. #5
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Salut,

    essaye en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s.selector = changeColor().setcolor.copy()
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Ce qui me surprend un peu plus, c'est que si je fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    class AutreClass:
    
    Dataset( "arguments", setcolor = {'129039992' : 'yellow'}
    
    --------------------------------------------------------------------------
    
    class Dataset:
    
    class Dataset:
       def __init__(s,request='',setcolor=' '):
    
          c=getglob('curdatabase').cursor()
          c.execute(transreq(request))
          s.setcolor = setcolor
          s.dataset=jfreechart.Dataset(index=curchart.idxdataset,series=c,setcolor = s.setcolor)
          curchart.idxdataset+=1
          if not curchart.idxdomainaxis: DomainAxis()
          if not curchart.idxrangeaxis: RangeAxis()
          if not curchart.idxrenderer: Renderer()
          s.dataset.attach(range=currangeaxis.rangeaxis,domain=curdomainaxis.domainaxis,renderer=currenderer.renderer)
          if not curchart.idxplot: Plot()
          curplot.plot.add(s.dataset)
    Et bien là, mon s.dataset va bien recevoir le dictionnaire que je souhaite lui attribuer. Or j'utilise le meme principe, appel de Classe avec arguments...

    Donc cette méthode marche, mais ce n'est pas très élégant, je souhaiterai plutot crée une nouvelle class qui s'occupe de récupérer le dictionnaire (comme mon premier exemple)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    pour setcolor.copy(), quand je compile, ca m'indique qu'un string n'a pas de méthode copy. En effet, dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class ChangeColor:
    def __init__(s,setcolor=''):
    s.setcolor = setcolor
    L'interpréteur m'indique que s.setcolor = '' (j'ai vérifier avec un if) .
    Donc mon init ne prend toujours pas en compte le dictionnaire que je souhaite lui appliqué ...

  8. #8
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Passe un dictionnaire vide en argument par défaut:
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Toujours pas :/

    J'abandonne, j'ai essayé toutes les combinaisons possible, en passant meme par des classes dérivés ou par de nouveaux module, rien n'y fait.

    Je vais gardé la méthode "parametre suplémentaire dans dataset"
    Merci pour ton aide

Discussions similaires

  1. assignation PHP4 attribut de class
    Par XtofRoland dans le forum Langage
    Réponses: 3
    Dernier message: 08/02/2006, 15h16
  2. Réponses: 3
    Dernier message: 08/12/2005, 14h41
  3. [css]problème d'attribution de classe dans deux listes
    Par Mitaka dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 24/11/2005, 18h05
  4. [D7][Oracle 8i] DBGrid toujours vide
    Par Magnus dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/10/2005, 08h43
  5. Réponses: 9
    Dernier message: 02/09/2005, 15h44

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