Eine Anzeige, die so aussieht wie ein LCD-Display, kann mittels Tk::LCD erstellt werden. Das nachstehende Programm basiert auf einem Beispiels aus der Tk::LCD-Distribution.
#!perl
use strict;
use warnings;
use Tk;
use Tk::LCD;
use Tk::Radiobutton;
my $mw = MainWindow->new;
# -- LCD-Anzeige und Info
my $lcd_frame = $mw->Frame->pack(-side => 'right');
my $frog = 42;
my $lcd = $lcd_frame->LCD(
-elements => 11,
-variable => \$frog,
)->pack;
$lcd->configure(
-elements => 15,
-background => 'white',
-onoutline => 'blue',
-onfill => 'blue',
-offoutline => 'white',
-offfill => 'white',
-size => 'small',
);
# -- Buttons zum Umschalten der Anzeige
my $options_frame = $mw->Frame->pack(-side => 'left');
my %variants = (
'Large Numbers' => -1234567890,
'Small Numbers, Commified' => 1_234_567_890.31415,
'Small Numbers, Not Commified' => 2003,
);
my $selected = (sort keys(%variants))[0];
foreach my $variant ( sort keys %variants ) {
$options_frame->Radiobutton(
-text => $variant,
-value => $variant,
-variable => \$selected,
-indicatoron => 0,
-command => sub{
update_lcd($mw, $lcd, $variants{$variant});
},
)->pack(-fill => 'x');
}
update_lcd($mw, $lcd, $variants{$selected});
$mw->MainLoop;
exit(0);
sub update_lcd {
my ($top, $lcd_widget, $value) = @_;
$lcd_widget->set($value);
$top->update;
}