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 :

[Perl/Tk] Liste déroulante


Sujet :

Interfaces Graphiques Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut [Perl/Tk] Liste déroulante
    Bonjour,

    Voila 2 jours que je recherche sous google comment faire une liste déroulante en contexte tk, tous ce que j'ai trouvé n'est pas équivalent a la liste déroulante que l'on peu trouver sur le net, ou la combo-box en java.

    Je suppose que c'est possible de réaliser ça en Perl/Tk, si oui comment?

    Merci d'avance a tous

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Voici la première entrée que me renvoie google après une recherche sur "Perl Tk Combobox"....
    http://www.developpez.net/forums/sho...d.php?t=307162

    --
    Jedaï

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Bonjour,

    Merci de cette réponse, je n'avais en effet pas chercher combo box...

    Par contre j'ai un peu testé voir comment ça marchais mais j'aimerais faire un truc et je ne vois pas comment.

    J'ai un champs de texte et une combo box juste aprés. Le champs de texte doit acceuillir un motif, et la combo box contient une liste toute prête de motif (pour les motifs les plus courant). Mais si je séléctionne un motif dans la combo il faudrait que sa séquence s'affiche dans le champs de texte. Par exemple "Myb3" serait lié a "ayyytgrsacgt".

    Hors dans la definition d'une liste on ne donne qu'un nom et c'est ce nom qui a être contenue dans la variable associée a la liste. J'aimerais donner un nom et que la variable contienne une valeur associé a ce nom et pas le nom que l'utilisateur vois.

    Je ne sais pas si j'ai été assez clair ou pas

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Je comprend ce que tu veux dire, mais je ne crois pas que ce soit possible... A priori la variable associée à une browseEntry contient exactement le texte du choix sélectionné, rien d'autre.
    Par contre tu peux tout de même obtenir l'effet que tu veux, en changeant la browsecmd :
    -browsecmd

    Specifies a function to call when a selection is made in the popped up listbox. It is passed the widget and the text of the entry selected. This function is called after the entry variable has been assigned the value.
    Tu peux facilement mettre là une fonction qui met à jour le texte de ton champs non par la variable, mais par le motif associé. Cela te conviendrait-il ?

    --
    Jedaï

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Oui en effet c'est ce qui seras le mieux si d'autre methode sons pas possible! Donc ce que j'ai a faire c'est créer une fonction qui lie le nom est la valeurs et je l'appelle grâce a cette commande dans la definition de la liste.

    Bon ben ça m'a l'air simple tout ça! Je vais voir ce que je peu faire!

    Merci encore!

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Bon en fait c'est pas tout a fait réslue :/

    Voi ce que j'ai :
    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
     
    my %pattern = {
    PK => "KATATGKCCRTYTTCTCKMAC",
    NBS5A => "YYTKRTHGTMITKGATGAYGTITGG",
    Myb3 => "ACVGAYAAYGARATCAARAAYYWYTGG"};
     
    ...
     
    my $txt_pattern = $t_send_adjustement -> Entry ( -textvariable => \$val_pattern) ;
    	$t_send_adjustement -> put (0, 1, $txt_pattern);
     
    ...
     
    my $be_pattern = $t_send_adjustement -> BrowseEntry( -variable  => \$val_nom_pattern,
     -browsecmd => \&pattern_linker(\$val_pattern, \$val_nom_pattern, \%pattern) );
     
    $be_pattern ->insert("end", "Myb3");
    $be_pattern ->insert("end", "PK");
    $be_pattern ->insert("end", "NBS5A");
     
    $t_send_adjustement -> put (0,3, $be_pattern);
    et dans le fichier de fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sub pattern_linker($$) {
    	my ($val, $pattern, %hash) = @_ ;
    	$val = $hash -> {$pattern};
    }
    Et lorsque je selectionne une valuer dans ma combo box, le programme plante avec cette erreur :
    j'imagine bien que mon code ne tient pas la route, mais je vois pas ou a vrai dire...

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/12/2007, 11h51
  2. liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 12
    Dernier message: 23/03/2004, 10h35
  3. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01
  4. liste déroulante en ASP vbscript
    Par leeloo076 dans le forum ASP
    Réponses: 9
    Dernier message: 17/03/2004, 16h42
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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