FAQ Perl/TkConsultez toutes les FAQ

Nombre d'auteurs : 3, nombre de questions : 86, dernière mise à jour : 24 mai 2013  Ajouter une question

 

Bienvenue sur la FAQ Perl/Tk. Cette FAQ a pour vocation de vous enseigner ou de vous faire revoir les notions de Perl/Tk. N'hésitez pas à utiliser le moteur de recherche.

Vous souhaitez participer à l'amélioration de cette FAQ, n'hésitez pas !! Commentez

Bonne lecture !


SommaireTous les widgetsLes champs de saisie (Entry...) (3)
précédent sommaire suivant
 

Pour créer un champ de saisie, il faut utiliser le widget Entry. Voici un exemple de code :

Code perl : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl 
use strict; 
use warnings; 
  
use Tk; 
  
my $fenetre_principale = MainWindow->new( -title => 'Entry' ); 
$fenetre_principale->Label( -text => 'Data : ')->pack( qw/ -side left/ ); 
my $entry = $fenetre_principale->Entry( )->pack( qw/ -side left/ );   
$fenetre_principale->Button(  
  -text => 'Afficher',  
  -command => sub {  
    print $entry->get,"\n"; 
  },  
)->pack( qw/ -side left/ );   
  
MainLoop;
La fenêtre contient un champ de saisie. A chaque fois que l'on clique sur le bouton, le texte saisi est affiché dans la console. L'information est obtenue via la méthode get. Pour récupérer l'information saisie, il est aussi possible d'utiliser l'option -textvariable.

Mis à jour le 31 août 2009 djibril

Il est possible de vérifier le contenu d'un champ de saisie et d'obliger l'utilisateur de votre application de ne saisir que des chiffres. Pour cela, utilisez le module Tk::EntryCheck.

C'est un widget de type Entry qui permet de vérifier le contenu du champ de saisie et sa longueur. Les options supplémentaires sont les suivantes :

-maxlength => 10, # accepte 10 caractères au maximum dans le champ de saisie ;
-pattern => qr/\d/, # accepte seulement des chiffres, rien d'autre.

Vous devez installer le module Tk::EntryCheck.

Code perl : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl 
use strict; 
use warnings; 
  
use Tk; 
use Tk::EntryCheck; 
  
my $fenetre_principale = MainWindow->new( -title => 'Tk::EntryCheck' ); 
$fenetre_principale->Label( -text => 'Nombre : ')->pack( qw/ -side left/ ); 
my $entry = $fenetre_principale->EntryCheck(  
  -pattern => qr/\d/, # accepte seulement des chiffres, rien d'autre. 
  -background => '#FFFF99', 
)->pack( qw/ -side left/ );   
$fenetre_principale->Button(  
  -text => 'Afficher',  
  -command => sub {  
    print $entry->get,"\n"; 
  },  
)->pack( qw/ -side left/ );   
  
MainLoop;

Mis à jour le 31 août 2009 djibril

Il faut utiliser l'option -show du widget Entry.
-show => 'caractère', le message tapé dans le champ de saisie sera remplacé par le caractère passé à -show .

Code perl : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl 
use strict; 
use warnings; 
  
use Tk; 
my $fenetre_principale = MainWindow->new( -title => 'Password : Entry' ); 
$fenetre_principale->Label( -text => 'Mot de passe : ')->pack( qw/ -side left/ ); 
my $entry = $fenetre_principale->Entry( -show => '*',)->pack( qw/ -side left/ );   
  
MainLoop;

Mis à jour le 31 août 2009 djibril

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2019 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.