Я хочу добавить в свой скрипт новый виджет, который откроет новое окно с текстом и автоматически закроется через 1 секунду.
как мне это сделать ?
Я хочу добавить в свой скрипт новый виджет, который откроет новое окно с текстом и автоматически закроется через 1 секунду.
как мне это сделать ?
Я думаю, вам нужно Tk::after
.
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
my $mw = MainWindow->new;
my $spawn = $mw->Button(
-text => 'spawn',
-command => sub {
my $subwindow = MainWindow->new;
my $label = $subwindow->Label(-text => "spawned");
$label->pack;
$subwindow->after(1_000, sub { $subwindow->destroy; });
}
);
$spawn->pack;
my $exit = $mw->Button(
-text => 'exit',
-command => sub { print "exiting...\n"; exit }
);
$exit->pack;
MainLoop;
alarm
в данном случае не очень хорошая идея;Tk
имеет собственный цикл событий для такого рода вещей. - person Chas. Owens   schedule 31.08.2010