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

Interfaces Graphiques Perl Discussion :

Entry, button et MainWindow..récupération dynamique d'entry


Sujet :

Interfaces Graphiques Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Entry, button et MainWindow..récupération dynamique d'entry
    Bonsoir à tous,
    Voilà programmeur du dimanche, j'avais fais un programme en Perl qui fait un test de calcul mentale. Le programme marche bien, mais il est en ligne de commande. Du coup Perl/Tk à la rescousse me voilà à faire l'interface graphique.

    Le code étant assez long, je le hiérarchise comme ça :

    [création de la fenêtre principale]
    [création d'une Label dynamique pour afficher les opérations]
    [création d'une Entry] [bouton valider] [status = pts du joueur]

    On a donc à l'affichage d'une opération, je souhaite récupérer les données d'Entry, (valider par le bouton) et je regarde donc si la réponse est bonne.

    Mon soucis est que le programme n'attend pas que le joueur clique sur le bouton et continue son exécution.
    J'ai bien tenté avec un "while" ..mais cela provoque une boucle infinie et fais flamber mon ordi.
    bref, apres ce semblant d'explication un peu de code (tention c'est long):
    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
     
    #---------------------------Fonction-----------------------#
    # Fonction testGo
    # Rôle : se charge de poser la question en fonction du signe 
    # ARGS : 1er chiffre / 2eme chiffre / Signe / points
    # Return : le point attribué ou non.
    sub testGo {
     my ($first,$second,$sign,$pts)= @_ ;
     my ($answerT,$answerF) = 0 ;
     if ($sign == 0) {# addition
      $labelGame->configure(-text => "Que fais ".$first." + ".$second." = ?\n");
      $answerT = "".$first + $second;
     }
     elsif ($sign == 1) {# soustraction
      $labelGame->configure(-text => "Que fais ".$first." - ".$second." = ?\n");
      $answerT = "".$first - $second;
     }
     elsif ($sign == 2) {# multiplication
      $labelGame->configure(-text => "Que fais ".$first." x ".$second." = ?\n");
      $answerT = "".$first * $second;
     }
     elsif ($sign == 3) {# Division
      if ($second >= $first) {
       $first++;$statGame->configure(-text => $pts);
       $statGame->update();
       $labelGame->configure(-text => "Que fais ".$second." / ".$first." = ? (chiffre arrondi à l\'unité)\n");
       $answerT = "".int($second / $first);
      }
      else {
       $second ++;
       $labelGame->configure(-text => "Que fais ".$first." / ".$second." = ?\n");
       $answerT = "".int($first / $second);
      }
     }
     else { print "erreur"; exit(1);}
     $labelGame->update;
     $answerF = $userEntry->get; #récupération d'Entry principal
     $textEntry->delete(0,5); # on efface l'Entry pour l'utilisation suivante
     
     $pts++ if($answerF eq $answerT);
     print "la réponse était :".$answerT."\n" if($answerF ne $answerT);
     return $pts;
    }
    Donc si vous comprenez un peu le fonctionnement, maintenant mon soucis c'est que le programme attende que l'utilisateur clique sur "valider" pour récupérer l'Entry et faire la vérification entre la réponse du jouer et la réponse Attendu

  2. #2
    Membre du Club Avatar de Perl53
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 109
    Points : 51
    Points
    51
    Par défaut
    je pense, ce n'est que mon avis =), que tu devrais mettre ton programme en entier pour voir ce qui ne va pas parce que avec seulement la fonction, on ne sait pas précisément ce que tu fais

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    C'est vrai que sans plus de code, il est difficile de t'aider. Néanmoins, tu peux regarder la documentation du module Tk::Widget. Il y a la méthode waitVariable qui pourrait te servir. Si tu n'y arrives pas, essaye de nous soumettre un code qui reproduise ton erreur pour qu'on puisse le tester et t'aider.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    C'est bien ça qu'il me fallait, j'ai bien utilisé la méthode waitVariable ..et ça roule. Merci beaucoup !

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    N'oubliez pas un tag résolu.

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

Discussions similaires

  1. Problème avec get (entry button)
    Par Raskaya dans le forum Tkinter
    Réponses: 7
    Dernier message: 03/10/2013, 16h21
  2. [AS 3 & XML] Pb de récupération "dynamique" MAJ
    Par dredge dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 10/09/2009, 14h04
  3. récupération dynamique cellule fichier Excel type
    Par imagonem dans le forum Excel
    Réponses: 2
    Dernier message: 04/03/2009, 09h05
  4. récupération d'un entry
    Par pepsister dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 28/06/2007, 10h02
  5. récupération dynamique du script 'create table'
    Par Feyrehr dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/07/2006, 08h59

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