Показать сообщение отдельно

  #8  
Старый 26.03.2009, 17:48
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 2399


По умолчанию

вот эщо несколько простих примеров tk perl:

# Create a sub window at the request of the user

PHP код:
#!/usr/bin/perl -w
use Tk;
use 
strict;

my $mw MainWindow->new;
$mw->geometry("400x100");
$mw->title("Multiple Windows Test");

my $button1 $mw->Button(
-
text => "Open new window",
-
command => \&button1_sub)->pack(-side => "top");

$mw->Button(
-
text => "Exit",
-
command => sub{exit})->pack();

sub button1_sub {
  
my $subwin1 $mw->Toplevel;
  
$subwin1->geometry("300x150");
  
$subwin1->title("Sub Window #1");
  
my $subwin_button $subwin1->Button(
             -
text => "Close window",
             -
command => [$subwin1 => 'destroy'])->pack();
}

MainLoop

# create radio buttons

PHP код:
#!/usr/bin/perl -w

use Tk;
use 
strict;

my $mw MainWindow->new;
$mw->geometry("300x100");
$mw->title("Radio Button Test");

my $color "Red";

my $radio_frame $mw->Frame()->pack(-side => "top");
$radio_frame->Label(-text=>"My favorite primary color is ")->pack(-side => "left");
my $radio_blue $radio_frame->Radiobutton(-text => "Blue", -value => "Blue",
                                           -
variable=> \$color)->pack(-side => "right");
my $radio_yellow $radio_frame->Radiobutton(-text => "Yellow", -value => "Yellow",
                                             -
variable=> \$color)->pack(-side => "right");
my $radio_red $radio_frame->Radiobutton(-text => "Red", -value => "Red",
                                          -
variable=> \$color)->pack(-side => "right");

my $button_frame $mw->Frame()->pack(-side => "bottom");
my $button_color $button_frame->Button(-text => "OK",
                                         -
command => \&color_sub)->pack(-side => "left");
my $button_exit $button_frame->Button(-text => "Exit",
                                        -
command => sub{exit})->pack(-side => "right");

sub color_sub {
  
$mw->messageBox(-message => "You selected $color!", -type => "ok");
}

MainLoop


# create checkbox buttons

PHP код:
#!/usr/bin/perl -w

use Tk;
use 
strict;

my $mw MainWindow->new;
$mw->geometry("300x150");
$mw->title("Check Button Test");

my $check1 'NOT CHECKED';
my $check2 'NOT CHECKED';
my $check3 'NOT CHECKED';

my $check_frame $mw->Frame()->pack(-side => "top");
$check_frame->Label(-text=>"Select some check buttons.")->pack(-side => "top")->pack();

my $chk1 $check_frame->Checkbutton(-text => 'Check #1',
                                     -
variable => \$check1,
                                     -
onvalue => 'CHECKED',
                                     -
offvalue => 'NOT CHECKED')->pack();

my $chk2 $check_frame->Checkbutton(-text => 'Check #2',
                                     -
variable => \$check2,
                                     -
onvalue => 'CHECKED',
                                     -
offvalue => 'NOT CHECKED')->pack();

my $chk3 $check_frame->Checkbutton(-text => 'Check #3',
                                     -
variable => \$check3,
                                     -
onvalue => 'CHECKED',
                                     -
offvalue => 'NOT CHECKED')->pack();

my $button_frame $mw->Frame()->pack(-side => "bottom");
my $ok_button $button_frame->Button(-text => 'OK',
                                       -
command => \&check_sub)->pack(-side => "left");
my $exit_button $button_frame->Button(-text => 'Exit',
                                        -
command => sub{exit})->pack(-side => "right");

sub check_sub {
  
my $check_msg "Check #1: $check1\nCheck #2: $check2\nCheck #3: $check3";
  
$mw->messageBox(-message => "Check Button Summary:\n$check_msg", -type => "ok");
}

MainLoop

# color buttons

PHP код:
#!/usr/bin/perl -w

use Tk;
use 
strict;

my $mw MainWindow->new;
$mw->geometry("300x150");
$mw->title("Menubutton Test");

my $main_menu $mw->Menu();
$mw->configure(-menu => $main_menu);

my $btn $main_menu->Menubutton(-text => "Colorful Buttons...",
                                 -
underline => 0, -tearoff=>0);
$btn->command(-label => "Button #1",
              -
activebackground => "blue",
              -
foreground => "blue",
              -
command => sub{$mw->messageBox(-message => "Button #1 Pressed")});

$btn->command(-label => "Button #2",
              -
activebackground => "red",
              -
activeforeground => "black",
              -
background => "yellow",
              -
foreground => "green",
              -
command => sub{$mw->messageBox(-message => "Button #2 Pressed")});

$btn->command(-label => "Exit", -command => sub{exit});

MainLoop
 
Ответить с цитированием