Hide and show control : Control Attributes « GUI « Perl






Hide and show control

 

#!/usr/local/bin/perl -w
use Tk;
use strict;

my $str = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789";

my $mw = MainWindow->new;
my $lframe = $mw->Frame->pack(-fill => 'both', -side => 'left', -expand => 1);
my $lb = $lframe->Scrolled(qw/Listbox -scrollbars e -height 3/)->
                          pack(qw/-fill both -expand 1 -side top/);

$lb->insert('end', sort $mw->fontFamilies);

my $hidebutton = $mw->Button(-text => ">");
$hidebutton->pack(-side => 'left', -fill => 'y');
$hidebutton->configure(
    -command => sub { 
  if ($hidebutton->cget(-text) eq ">") {
      $lframe->packForget; $hidebutton->configure(-text => "<")
  } else {
      $lframe->pack(-before => $hidebutton, -fill => 'both',
        -side => 'left', -expand => 1); 
      $hidebutton->configure(-text => ">");
  }
    },
    -font => "courier 8",
);

my $entry = $mw->Entry(
    -textvariable => \$str,
)->pack(-expand => 1, -fill => 'x', -side => 'left');

$lb->bind("<Button>", sub { $entry->configure(-font =>
    "{". $lb->get($lb->curselection) . "} 72"); });

MainLoop;

# Causes text to be wrapped around.
sub shift_banner {
    my $newstr = substr($str, 1) . substr($str, 0, 1);
    $str = $newstr;
}

   
  








Related examples in the same category

1.Set Button Foreground Color
2.Set Button Text
3.Set Check Box Button Text Value
4.Set Check Box Button onvalue and offvalue
5.Changing Attributes in a Perl/Tk interface
6.Change Button Background Color in Button Action
7.Embeded controls