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 :

modifier un champs entry


Sujet :

Interfaces Graphiques Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Par défaut modifier un champs entry
    Bonjour,

    je débute en perl/tk et il y a encore certain truc qui semble simple et qui pourtant me pose des problemes


    voici mon code assez simple

    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
    sub sOption () {
        $fOption = $mw->Toplevel();
        $fOption->title("Fenêtre fille");
        $fOption->raise();
    	my $cadreP = $fOption->LabFrame(-label => "Adresses IP des serveurs DNS",
    		 -labelside => 'acrosstop')->pack;
     
     
    	my $frame1 = $cadreP->Frame()->pack(-fill => 'x');
    	$frame1->Label( -text => 'domaine : ')->pack(-side => 'left');
    	my $domain1 = $frame1->Entry( )->pack(-side => 'left');  
    	$frame1->Label( -text => 'Ip nominal : ')->pack(-side => 'left');
    	my $ipPrim1 = $frame1->Entry()->pack(-side => 'left'); 
    	$frame1->Label( -text => 'Ip bkp : ')->pack(-side => 'left');
    	my $ipBkp1 = $frame1->Entry()->pack(-side => 'left');  
    	my $frame2 = $cadreP->Frame()->pack(-fill => 'x');
    	$frame2->Label( -text => 'domaine : ')->pack(-side => 'left');
    	my $domain2 = $frame2->Entry( )->pack(-side => 'left');  
    	$frame2->Label( -text => 'Ip nominal : ')->pack(-side => 'left');
    	my $ipPrim2 = $frame2->Entry( )->pack(-side => 'left'); 
    	$frame2->Label( -text => 'Ip bkp : ')->pack(-side => 'left');
    	my $ipBkp2 = $frame2->Entry()->pack(-side => 'left');  
     
    	$fOption->Button( 
    	  -text => 'Afficher', 
    	  -command => sub { 
    		print $ipBkp1->get,"\n";
    	  }, 
    	)->pack( qw/ -side left/ ); 
    	MainLoop;
    }
    dans ce code j'essaie de pré-remplir mes champs entry mais rien a faire.

    j'ai essayé $frame2->Entry(-text => 'blabla') ou $frame2->Entry(-textvariable => 'blabla')
    ca ne fonctionne pas.

    de plus comment faire pour le modifier aprés la construction?

    Merci d'avance

  2. #2
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Il faut soit utiliser l'option -textvariable, soit utiliser la méthode insert.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	my $domain1 = $frame1->Entry( )->pack(-side => 'left'); 
        $domain1->insert('end', "Mon domaine"); 
    	$frame1->Label( -text => 'Ip nominal : ')->pack(-side => 'left');
    	my $ip = "127.0.0.1";
        my $ipPrim1 = $frame1->Entry(-textvariable => \$ip,)->pack(-side => 'left');

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Par défaut
    merci

    le insert fonctionne trés bien, mon problème est résolu

    par contre, si je veux effacer son contenu et en mettre en un autre (car si j'ai bien compris le insert permet d'ajouter du texte pas de l'effacer) il faut faire comment?

  4. #4
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    La documentation est ici : Tk::Entry, c'est la méthode delete.

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Par défaut
    ok merci

    je ne suis pas habitué a coder en perl et j'ai du mal a comprendre la doc

  6. #6
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    La documentation de Perl Tk est très particulière car scindée en Widget. Tu peux aussi regarder notre FAQ Perl/TK.

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

Discussions similaires

  1. Modifier deux champs en même temps!!!
    Par Invité dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 08/09/2005, 20h31
  2. [Zope] modifier un champ de formulaire d´un dtml_doc
    Par naiadeKaren dans le forum Zope
    Réponses: 1
    Dernier message: 17/08/2005, 13h31
  3. [EJB2.1 Entity] [CMP] Modifier un champ d'une clé primaire
    Par Medo_free dans le forum Java EE
    Réponses: 4
    Dernier message: 14/03/2005, 18h04
  4. Modifier un champ à partir d'une fenêtre modale
    Par ahoyeau dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/03/2005, 16h53
  5. [struts] : modifier un champ en javascript
    Par richard_34b dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/10/2004, 00h42

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