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

wxPython Discussion :

TextCtrl et son attribut 'name'


Sujet :

wxPython

  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2005
    Messages : 52
    Par défaut TextCtrl et son attribut 'name'
    Bonsoir à tous,

    Voilà, j'aimerais savoir à quoi sert l'attribut 'name' d'un TextCtrl et comment s'en servir pour récupérer la valeur du TextCtrl.
    J'ai essayé à peu près toutes les solutions que je connais et rien ne fonctionne ^^

    J'ai donc un code de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class main:
      def __init__(self):
        ...
        wx.TextCtrl(self, -1, name = "prout")
        ...
        wx.Bind(wx.EVT_BUTTON, lambda evt:self.fonction(), mon_bouton)
     
      def fonction(self, evt):
        et ici je veux pouvoir récupérer la valeur de mon TextCtrl nommé "prout"
    Merci d'avance ;-)

  2. #2
    Membre chevronné
    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
    Par défaut
    1 - 'name' est pour identifier un objet, mais tu devrais le savoir avant de te pencher sur wx.Python, car c'est un fondement de la POO. Je te conseille de te reporter à la section Tuto de Python.

    2 - Pour l'utilisation d'un wx.TextCtrl, tout est dans l'aide, tant sur les sites qu'en téléchargement sur le site de wxPython.

    Toutes fois, pour récupérer la valeur :

    - si :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.Libelle = wx.TextCtrl(id=wxID_AJOUENERGIELIBELLE, name='Libelle',
                  parent=self.panel1, pos=wx.Point(24, 48), size=wx.Size(168, 21),
                  style=0, value='')
    - alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    libelle = self.Libelle.GetValue()
    - ou aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    libelle = self.Libelle.GetValue().encode('iso-8859-15')

  3. #3
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2005
    Messages : 52
    Par défaut
    Effectivement je connais ça et je l'avais testé, c'est bien pour ça que je viens poster ici

    Je te montre exactement mon code pour que ce soit plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class AutoJoinWin(wx.Dialog):
      def __init__(self):
        ...
        self.channel = wx.TextCtrl(self, -1, pos = (120, 42), size = (120, 20), name = "channel", value = "#")
        bouton = wx.Button(self, -1, pos = (127, 122), size = (80, 22), label = "Valider")
        self.Bind(wx.EVT_BUTTON, lambda evt:self.Ajoute(self), bouton)
     
      def Ajoute(self, evt):
        print self.channel.GetValue()
    Et j'obtiens ceci :
    AttributeError: 'NoneType' object has no attribute 'GetValue'
    Sinon en essayant d'autres possibilités, j'obtiens aussi ceci :
    AttributeError: 'AutojoinWin' object has no attribute 'channel'

  4. #4
    Membre chevronné
    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
    Par défaut
    Vu ton code, je ne crois pas que cela vient de ton wx.TextCtrl ni de sa propriété 'name'. Le problème doit être ailleur. Peut être un lien de parenté, de déclaration, je ne sais pas..... !! Ou il manque un 'self' à ton bouton ??

  5. #5
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Pourquoi utilisez une lambda ? (et self.Ajoute(self), c'est assez louche)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class AutoJoinWin(wx.Dialog):
      def __init__(self):
        ...
        self.channel = wx.TextCtrl(self, -1, pos = (120, 42), size = (120, 20), name = "channel", value = "#")
        bouton = wx.Button(self, -1, pos = (127, 122), size = (80, 22), label = "Valider")
        self.Bind(wx.EVT_BUTTON, self.Ajoute, bouton)
     
      def Ajoute(self, evt):
        print self.channel.GetValue()
    Après pour récupérer le nom, en lisant la doc, je pencherai plutôt pour self.channel.GetName() (attribut de base d'un wxWindows )

Discussions similaires

  1. [DOM] Changement de l'attribut name dynamique
    Par Metal3d dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/06/2008, 16h39
  2. générer dynamiquement l'attribut name dans <jsp:setProperty
    Par anthropo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/08/2006, 17h49
  3. Pb attribut name pour un form
    Par mariemor64 dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/07/2006, 12h12
  4. Balise form - problème attributs name et type
    Par michihala dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/04/2006, 17h17
  5. xhtml ->xml xsl:attribute name+not valid
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 14/06/2005, 07h27

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