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 :

GetValue() sur un wx.TextCtrl à partir de son id


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Par défaut GetValue() sur un wx.TextCtrl à partir de son id
    Bonjour,

    Contexte : pleins wx.TextCtrl dans une interface graphique. Un bouton de type "Exporter" qui récupèrer les infos contenues dans les wx.TextCtrl

    Méthode qui fonctionne : A la main... j'ai créé 40 noms de Text.Ctrl différents. Récupérer les valeurs avec GetValue() ne pose pas de problème mais avouez que c'est très vite lassant à programmer et surtout assez moche....

    Objectifs : Dans mon interface graphique j'ai une boucle qui me crée environ 40 wx.TextCtrl dans un wx.GridBagSizer => OK pour cette phase

    But, because there's always a but...je voudrai savoir comment récupérer la valeur d'un wx.TextCtrl. Comme ils ont tous le même nom, je ne récupère que la valeur du dernier wx.TextCtrl crée.

    [1] j'ai pensé à automatiser le nom des wx.TextCtrl avec SetAttr()...mais je ne m'en sort pas et en plus après je ne sais pas comment récupérer le nom du wx.TextCtrl nouvellement créés pour allez rechercher mon infos...
    [2] Affecter à chaque wx.TextCtrl un nouvel "id" => facile

    D'où ma question initiale, une fois que l'on a affecté un "id" à un objet, comment s'en servir pour récupérer une information sur le dit objet ?

    Merci,

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

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

    il te suffit de conserver la réference de tes champs de texte dans une liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # creation
    textCtrls = []
    for i in range(40):
        textCtrl = wx.TextCtrl(...
        textCtrls.append(text)
     
     
    #recuperation
    for textCtrl in textCtrls:
        value = textCtrl.GetValue()

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Par défaut [RéSOLU] GetValue() sur un wx.TextCtrl à partir de son id
    Merci,

    cette solution marche impeccable !

    Etant nouveau dans le POO (je passe de Fortran à Python...), je n'avais même pas pensé qu'on pouvez stocker des objets de cette manière sans avoir à forcer un indice quelque part !?! Très pratique...

    Cependant, je suis curieux de savoir à quoi sert l'id car dans tous les tutos, on laisse une affectation automatique ?! Est-ce que c'est quelque chose dont on se sert pour de la programmation avancée ?

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

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Cependant, je suis curieux de savoir à quoi sert l'id car dans tous les tutos, on laisse une affectation automatique ?! Est-ce que c'est quelque chose dont on se sert pour de la programmation avancée ?
    wxPython est un 'juste' un binding python pour utiliser wxwidgets. La création d'une instance de controle nécessite donc la creation d'un ID.
    Perso je laisse une affectation automatique et je garde directement une réference sur l'objet.
    Si tu es curieux, dans la doc tu peux trouver cette méthode:http://wxpython.org/docs/api/wx.Wind...FindWindowById.

    Bon python

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/11/2013, 18h49
  2. Fermer un flux sur un fichier à partir de son nom
    Par Djobird dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 17/06/2009, 09h18
  3. Rechercher sur RadioBlog à partir de son bureau(widget)
    Par Jim_Nastiq dans le forum Mon programme
    Réponses: 2
    Dernier message: 22/08/2007, 16h30
  4. Réponses: 4
    Dernier message: 07/01/2007, 22h18
  5. Trouver le jour de l'année à partir de son numéro
    Par Nounours666 dans le forum C++Builder
    Réponses: 7
    Dernier message: 09/01/2006, 13h20

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