
26.03.2009, 17:48
|
|
Постоянный
Регистрация: 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;
|
|
|