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

GTK+ avec Python Discussion :

Application Pendu Python


Sujet :

GTK+ avec Python

  1. #1
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut Application Pendu Python
    Bonjour,

    je dois faire une mini application en python pour un oral de fin d'année. J'ai décidé de faire un jeu du pendu... Seulement je débute python et je n'arrive pas bien a faire ce que je veux.

    J'ai donc posé 2 labels, 2 textbox et un bouton sous Glade en interface graphique, pour réaliser les tests. Dans la première textbox ca sera le mot a trouver, puis après avoir cliquer sur le bouton, le mot s'affichera dans le label du milieu en caché biensur, et au fur et a mesure que l'on tape des lettres dans l'autre textbox, les lettres du label s'afficheront. L'autre label servira juste a afficher le nombre de trait qui correspond au mot par exemple :

    H E L L O
    _ _ _ _ _

    Je suis au tout début du programme. Mais j'ai un probleme pour afficher les traits, je ne vois pas du tout comment faire pour afficher le nombre de underscore en fonction du mot dans le 2eme label... Voici le code et le problème est dans la méthode gtk_cmdOk_clic ;

    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
    #--- Constructeur ---
    class monAppli:
            def __init__(self):
                    self.widgets = gtk.glade.XML('lependu.glade',"Pendu")
                    self.autoConnect()
     
            #--- Gestion du dictionnaire des events ---
            def autoConnect(self):
                    eventHandlers = {}
                    for (itemName,value) in self.__class__.__dict__.items(): 
                               if callable(value) and itemName.startswith('gtk_'):  
                                      eventHandlers[itemName[4:]] =                     getattr(self,itemName) 
                               self.widgets.signal_autoconnect(eventHandlers)
     
            #--- Ferme la fenetre ---
            def gtk_delete(self, source = None, event = None):
                    gtk.main_quit()
     
            #--- Ajout du mot à trouver dans le label ---
            def gtk_cmdOk_clic(self, source = None, event = None):
                    for element in self.widgets.get_widget('txtDevine').get_text():
                              self.widgets.get_widget('lblMot').set_text(element)
     
    if __name__ == '__main__':
              app = monAppli()
              gtk.main()
    J'espère que vous pouvez m'aider.

    John.

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut
    Bonjour,

    Pour récupérer le texte sur l'entry ou du label :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mot = widget.get_text()
    Ensuite, on récupère le nombre de lettre :

    Enfin on crée les petites barres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chaine =  ""
    for i in range(0, nombre):
        chaine = chaine + "_ "
    On applique sa au widget :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    widget.set_text(chaine)
    J'espère vous avoir aidé...

    Mickael

  3. #3
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut
    Je tiens à l’excuser pour le retard, cette réponse m'avait bien aidé, merci.

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

Discussions similaires

  1. [Python 3.X] Problème pendu python
    Par BlasTox57 dans le forum Programmation multimédia/Jeux
    Réponses: 3
    Dernier message: 27/04/2015, 18h47
  2. application web & python
    Par abdelfateh dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 20/02/2014, 10h11
  3. applications - web - Python
    Par melwin dans le forum Débuter
    Réponses: 3
    Dernier message: 17/07/2012, 10h28
  4. Python? Plone? Quelles applications?
    Par klerdesign dans le forum Zope
    Réponses: 1
    Dernier message: 17/08/2006, 10h57
  5. Internationnalisation d'une application Python
    Par leviathan516 dans le forum Général Python
    Réponses: 1
    Dernier message: 22/03/2006, 14h48

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