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 :

Widgets généré automatiquement - récupération de valeur


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut Widgets généré automatiquement - récupération de valeur
    Bonjour,

    J'ai un petit souçis avec la récupération des valeurs, labels, etc... lorsqu'ils ont été généré automatiquement. Voici un exemple de code (qui fonctionne). Ce que j'aimerai c'est que lorsque l'on clique sur bouton n°X, seul le txtctrl n°X soit affiché (print). Jusqu'à présent c'est soit je parcours tous les txtcrtl (voir fonction OnAction) soit rien...

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    # -*- coding: utf-8 -*-
     
    import wx
     
     
    class MaClasse(wx.Frame):
     
        def __init__(self):
            wx.Frame.__init__(self, None, size=(-1,-1),title='Fenetre principale')
     
            # Création d'un sizer
            self.framesizer = wx.FlexGridSizer(9,2)
     
            # Création d'un conteneur
            self.conteneur = wx.Panel(self)        
            # On lie le sizer à son parent
            self.conteneur.SetSizer(self.framesizer)
     
            # Liste contenant les widgets
            self.textctrl= []
            self.button= []
     
            for k in range(0,10):
                # Création des widgets
                button = wx.Button(self.conteneur, 1, 'Bouton'+str(k), (-1,-1))
                textctrl = wx.TextCtrl(self.conteneur, -1, '0', style=wx.TE_CENTRE )
                # Association du bouton à une action
                button.Bind(wx.EVT_BUTTON, self.OnAction)
                # Ajout des widgets au panel
                self.framesizer.Add(button, 1, wx.EXPAND)
                self.framesizer.Add(textctrl, 1, wx.EXPAND)
                # Ajout des widgets à leur liste, pour futur rappel
                self.button.append(button)
                self.textctrl.append(textctrl)
     
        def OnAction(self, event):
            for item in self.textctrl:
                print item.GetValue()
     
     
     
    if __name__ == "__main__":
        app = wx.App()
        MaClasse().Show()
        app.MainLoop()

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Regarde quel est le bouton qui a été appuyé, comme ils ont des noms différents, c'est facile !

  3. #3
    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
    essaye ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        def OnAction(self, event):
            btn = event.GetEventObject()
    	print self.textctrl[self.button.index(btn)].GetValue()

  4. #4
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    Ca marche au poil!

    Merci pacificator

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

Discussions similaires

  1. récupération des valeurs d'un input généré dynamiquement
    Par patheo2 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/03/2011, 16h07
  2. [checkbox] Récupération des valeurs de checkbox
    Par chng001 dans le forum Struts 1
    Réponses: 13
    Dernier message: 07/09/2009, 20h31
  3. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58
  4. récupération de valeur de lien
    Par sex-sansbol dans le forum ASP
    Réponses: 3
    Dernier message: 07/06/2004, 10h43
  5. Récupération de valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    Réponses: 12
    Dernier message: 25/03/2004, 10h59

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