Mega Code Archive

 
Categories / Perl / GUI
 

Using check box to control font

#!/usr/local/bin/perl -w use Tk; use strict; require Tk::BrowseEntry; my $mw = MainWindow->new(-title => 'Font Viewer'); my $f = $mw->Frame->pack(-side => 'top'); my $family = 'Courier'; my $be = $f->BrowseEntry(     -label     => "Family:",      -variable  => \$family,      -browsecmd => \&apply_font, )->pack(-fill => 'x', -side => 'left'); $be->insert('end', sort $mw->fontFamilies); my $size = 24; my $bentry = $f->BrowseEntry(     -label     => 'Size',     -variable  => \$size,      -browsecmd => \&apply_font, )->pack(-side => 'left'); $bentry->insert('end', (3 .. 32)); my $weight = "normal"; $f->Checkbutton(     -onvalue  => "bold",     -offvalue => "normal",     -text     => "Weight",     -variable => \$weight,     -command  => \&apply_font, )->pack(-side => 'left'); my $slant = "roman"; $f->Checkbutton(     -onvalue => "italic",     -offvalue => "roman",      -text => "Slant",     -variable => \$slant,      -command => \&apply_font, )->pack(-side => 'left'); my $underline = 0; $f->Checkbutton(     -text => "Underline",     -variable => \$underline,     -command => \&apply_font, )->pack(-side => 'left'); my $overstrike = 0;  $f->Checkbutton(     -text => "Overstrike",     -variable => \$overstrike,      -command => \&apply_font, )->pack(-side => 'left'); my $stext = "www.rntsoft.com"; my $sample = $mw->Entry(-textvariable => \$stext)->pack(-fill => 'x'); &apply_font; MainLoop; sub apply_font {     $sample->configure(-font =>             [-family => $family,       -size => $size,       -weight => $weight,       -slant => $slant,       -underline => $underline,       -overstrike => $overstrike            ],     ); }