Yes, show a complete example which demonstrates the problem. It look off the top of my head, that you may have a problem in the return value from -validatecommand .... it should return a 1 or 0. Look how this works.
#!/usr/bin/perl use strict; use warnings; use Tk; my $top = MainWindow->new(); $top->geometry('200x200'); my %entries; for(1..4){ $entries{$_}{'value'} ||= 0; $entries{$_}{'entry'} = $top->Entry( -textvariable => \$entries{$_}{'value'}, -width => 5, -bg => 'white', -validate => 'key', -vcmd => \&validate, )->pack; } MainLoop; #have to make sure empty value has numeric context sub validate{ my $val = shift; $val ||= 0; #get alphas and punctuation out if( $val !~ /^\d+$/ ){ return 0 } if (($val >= 0) and ($val <= 100)) {return 1} else{ return 0 } }
In reply to Re: perl/Tk Entry validation
by zentara
in thread perl/Tk Entry validation
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |