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

GUI Python Discussion :

Mettre à jour une liste a chaque click


Sujet :

GUI Python

  1. #1
    Membre très actif
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 99
    Par défaut Mettre à jour une liste a chaque click
    Bonjour à tous,

    Je suis en train d'essayer de faire un jeux du pendu en Python et avec la librairie pysimplegui pour l'interface.

    J'ai pas mal avancer mais je bloque à un endroit:

    J'ai fait un input pour mettre la lettre et un bouton pour valider, quand on clique sur le bouton ca check si la lettre est présente dans le mot et dans l'idée ca complète la liste qui correspond au mot à découvrir (j'ai transformé en liste le mot à découvrir pour jouer avec les index)

    Nom : pendu_souci$.png
Affichages : 112
Taille : 21,4 Ko

    et je voudrais que ca donne ca au final : ['L', 'I', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_'] au fur et à mesure.

    je soupçonne un problème de portée de variable mais je suis pas sur... voici le code :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    def game_window():
        row1 = [
            sg.Text("Catégorie"),
            sg.Combo(['Choix', "Pays"], default_value='Choix', size=(6, 1), key='-Category_choice-', enable_events=True),
        ]
        col1 = [
                    [
                        sg.Text('', key='-WordToGuess-'),
                        sg.Input(size=(5, 2), enable_events=True, key='-Input_Letter-', visible=False),
                        sg.Text('', key='-Letter_Used-'),
                        sg.OK(key='-Add_Letter-', visible=False),
                    ],
        ]
     
        layout = [[row1],[sg.Column(col1)]]
     
        window = sg.Window('Pendu',layout,resizable=True)
     
        while True:
            event,values = window.read()
     
            if event == sg.WINDOW_CLOSED:
                break
     
            if event == "-Category_choice-":
                choix = values['-Category_choice-']
     
                if choix == "Choix":
                    sg.popup_error(f"Veuillez choisir une catégorie")
                else:
                    word_to_guess = random.choice(get_country_name())
                    data = configure_word(word_to_guess)
                    window['-WordToGuess-'].update(data['display'].replace('_',' _'),font=16)
                    window['-Input_Letter-'].update(visible=True)
                    window['-Add_Letter-'].update(visible=True)
     
            list_country = data['word']
            list_to_guess = [i for i in data['display']]
            print(word_to_guess)
     
            if event == '-Add_Letter-':
                input_letter = values['-Input_Letter-'].upper()
                if len(input_letter) > 1:
                    sg.popup_error(f"Veuillez saisir une lettre")
     
                window['-Letter_Used-'].update(value=input_letter)
                    #On va tester si la lettre est présente dans le mot
                for ind, letter in enumerate(list_country):
                    if input_letter == letter:
                        list_to_guess[ind] = input_letter
     
            print(list_to_guess)
     
        window.close()
     
    if __name__ == "__main__":
            game_window()
    Pourriez-vous m'éclairer sur le souci ?

    Merci d'avance.
    Cordialement.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 697
    Par défaut
    Citation Envoyé par Bensljul Voir le message
    Pourriez-vous m'éclairer sur le souci ?
    A chaque caractère saisi, list_to_guess est (ré)initialisé avant d'être mis à jour.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. mettre à jour une liste deroulante
    Par emenemza dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/09/2008, 08h39
  2. Réponses: 6
    Dernier message: 23/09/2008, 15h57
  3. Soucis pour mettre à jour une liste déroulante.
    Par Fbzn_office dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/03/2008, 19h22
  4. Comment mettre à jour une page jsp chaque seconde
    Par zizoux5 dans le forum Struts 1
    Réponses: 6
    Dernier message: 25/05/2007, 18h37
  5. impossible de mettre à jour une liste déroulante
    Par nicolovitch dans le forum Access
    Réponses: 3
    Dernier message: 02/08/2006, 11h31

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