Bonjour,
Je n'arrive pas à transmettre la valeur d'une variable collectée avec "Entry" à une fonction lancée avec "Button".
En fouillant un peut partout sur le WEB, j'ai vaguement compris qu'il faudrait que j'utilise "get" dans mes instructions. Mais j'ai hélas rien trouvé qui pouvait m'expliquer clairement le fonctionnement.
Si je lance mon script, il m'affiche l'erreur:
Use of uninitialized value in concatenation (.) or string at toto.pl line 43.
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 #! /usr/bin/perl use warnings; use strict; use Tk; my $window; $window = new MainWindow (); $window -> title("maintenance du reseau"); $window -> minsize(qw(500 830)); $window -> Button ( -text => "xxxxx", -command => \&go, ) -> pack (); sub go { my $nouveauReseau; my $fenetre = $window -> Toplevel (); $fenetre -> Entry ( -width => 16, -background => 'white', -textvariable => \$nouveauReseau ) -> grid ( -sticky => 'w', -row => 1, -column => 0 ); $fenetre -> Button ( -text => "valider", -command => [\&validation, $fenetre, $nouveauReseau] ) -> grid ( -row => 2, -column => 0 ); } MainLoop; sub validation { my ($fenetre, $res) = @_; print $fenetre.", ".$res."\n"; $fenetre -> destroy (); }
Partager