⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fig21_08.pl

📁 PERL语言资料 可以用于PERL程序设计
💻 PL
字号:
#!/usr/bin/perl
# Fig 21.8: fig21_08.pl
# Perl/Tk program using GUI components.

use strict;
use warnings;
use Tk;

our $main = new MainWindow();

my @animals = 
   qw( aardvark baboon cheetah dog elephant yak zebu );

$main->Label( -text => "Select an animal:" )->pack();
my $list = $main->Listbox();
$list->insert( 'end', @animals );
$list->bind( '<Double-1>' => \&choose1 );
$list->pack();

MainLoop();

sub choose1
{
   my $animal = $list->get( $list->curselection() );
   my $color;
   my $window = $main->Toplevel();

   $window->Label( -text => "Select a color:" )->pack();
   my @colors = qw( grey brown black tan );

   foreach ( @colors ) {
      $window->Radiobutton( -text => $_,
         -variable => \$color, -value => $_ )->pack();
   }

   $window->Button( -text => 'Choose', -command =>
      [ \&choose2, $animal, \$color, $window ] )->pack();
}

sub choose2
{
   my ( $animal, $color, $parent ) = @_;
   my $value = 0;
   $color = $$color;
   my $window = $parent->Toplevel();

   $window->Scale( '-orient' => 'horizontal',
      '-from' => 0, '-to' => 100, '-tickinterval' => 20,
      '-label' => 
         'Select a size in feet:', '-length' => 200, 
         -showvalue => 1,
      '-variable' => \$value, )->pack();

   $window->Button( -text => 'Choose',
      -command => 
         [ \&choose3, $animal, $color, \$value, $window ], )->
         pack();
}

sub choose3
{
   my ( $animal, $color, $value, $parent ) = @_;
   my $window = $parent->Toplevel();

   $window->Label( -text => "Your animal is a $animal." )->
      pack();
   $window->Label( -text => "It's color is $color." )->pack();
   $window->Label( -text => 
      "It's size is $$value feet tall." )->pack();

   $window->Button( -text => 'Done',
      -command => \&destroy )->pack();
}

sub destroy
{
   $main->destroy()
}


###########################################################################
#  (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall.     #
#  All Rights Reserved.                                                   #
#                                                                         #
#  DISCLAIMER: The authors and publisher of this book have used their     #
#  best efforts in preparing the book. These efforts include the          #
#  development, research, and testing of the theories and programs        #
#  to determine their effectiveness. The authors and publisher make       #
#  no warranty of any kind, expressed or implied, with regard to these    #
#  programs or to the documentation contained in these books. The authors #
#  and publisher shall not be liable in any event for incidental or       #
#  consequential damages in connection with, or arising out of, the       #
#  furnishing, performance, or use of these programs.                     #
###########################################################################

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -