28 lines
763 B
Perl
28 lines
763 B
Perl
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Tk;
|
|
use Tk::Dialog;
|
|
use Tk::LabFrame;
|
|
|
|
my $value = 0;
|
|
|
|
my $mw = MainWindow->new;
|
|
$mw->title( 'GUI component interaction' );
|
|
my $lf = $mw->LabFrame( -label => 'Value' )->pack(-fill => 'x',-expand => 1);
|
|
$lf->Entry( -width => 10, -textvariable => \$value,
|
|
-validate => 'key', -validatecommand => sub { $_[0] =~ /^\d{1,9}\z/ },
|
|
)->pack(-fill => 'x', -expand => 1);
|
|
$mw->Button( -text => 'increment', -command => sub { $value++ },
|
|
)->pack( -side => 'left' );
|
|
$mw->Button( -text => 'random', -command => sub {
|
|
$mw->Dialog(
|
|
-text => 'Change to a random value?',
|
|
-title => 'Confirm',
|
|
-buttons => [ qw(Yes No) ]
|
|
)->Show eq 'Yes' and $value = int rand 1e9; }
|
|
)->pack( -side => 'right' );
|
|
|
|
MainLoop;
|