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 :

génération automatique de boutons et utilisation de fonction


Sujet :

wxPython

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut génération automatique de boutons et utilisation de fonction
    Bonjour,
    Je suis un petit nouveau dans le monde de Python et j'essaye de générer (dans une interface graphique en WxPython) des boutons automatiquement, puis de leur associer une fonction, cependant je voudrais que la fonction agisse différemment selon chaque bouton. Je n'arrive pas à lui faire différencier chaque bouton...Ca doit être simple mais je suis pas très à l'aise en WxPython.
    Quelqu'un pourrait-il m'aider?
    Ci-joint le morceau de code intéressant:
    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
     
     
    class ChoixLigne(wx.Panel):
    global listeEquipe, j
        listeLigne = [ 0,0 ,0 ,0 ,0 ,0 ,0 ]
        nombreSelectionne = 0
        nbr = nombreSelectionne
        def __init__(self, parent):
            wx.Panel.__init__(self, parent)
            self.quote = wx.StaticText(self, label="Choix des joueurs :", pos=(20, 30))
     
            self.sampleList = listeEquipe
            self.j = j
            for i in self.sampleList:
     
                if self.j < 5:
                    self.button = wx.Button(self, id = self.j, label="%s" %i, pos=(40+100*self.j, 200))
                    self.Bind(wx.EVT_BUTTON, self.Ajouter,self.button)
                else:
                    self.button = wx.Button(self,id = self.j, label="%s" %i, pos=(40+100*(self.j-5), 300))
                    self.Bind(wx.EVT_BUTTON, self.Ajouter,self.button)
                self.j = self.j + 1
     
        def Ajouter(self, event):
            print("test ajout")
            #Il faut que ca selectionne 7 joueurs puis ferme tout
            #seul dès que le nombre sepat est atteint
            if self.nbr < 7:
                self.listeLigne[self.nbr] = self.button.GetId()
                self.nbr+=1
                print(self.listeLigne)
    Ca fait une semaine que je bloque la dessus!
    Merci beaucoup.
    Edwin18

  2. #2
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Afin de récupérer le ID du bouton appellant votre fonction Ajouter, il faut interroger l'objet event transmis. Ce dernier possède également une méthode GetId.

    Dans votre programme, ça donnerait en ligne 29 :

    self.listeLigne[self.nbr] = event.GetId()

    En espérant avoir pu vous aider, bon courage

Discussions similaires

  1. Génération automatique de documentation de fonctions shell
    Par jack-ft dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 19/03/2013, 15h15
  2. Utiliser une fonction pour un bouton
    Par jlg_47 dans le forum C++/CLI
    Réponses: 13
    Dernier message: 20/10/2010, 21h22
  3. Réponses: 1
    Dernier message: 14/07/2008, 22h23
  4. chgmt automatique de bouton radio en fonction d'autres champs
    Par winnie82 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2006, 14h49

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