Скрыть окно в Perl / Tk и показать снова вкл.все виджеты - PullRequest
2 голосов
/ 25 июля 2010

Я хочу скрыть главное окно на определенное время, а затем показать его снова. Пример:

use Tk;

my $mw = new MainWindow;
my $lblMsg = $mw -> Label(-text=>"blabla")-> grid();
my $btnPostpone = $mw -> Button(-text=>"Postpone for (min): ",
              -command =>\&postpone)-> grid();

MainLoop;

sub postpone{
$mw-> withdraw();
sleep(1);
$mw->deiconify();
$mw->raise();
sleep(1);
exit;
}

С вышеуказанным кодом главное окно появится снова, но ни один из виджетов не отобразится. Что мне нужно сделать, чтобы все выглядело точно так же, как и до того, как было спрятано?

Любые намеки приветствуются.

1 Ответ

2 голосов
/ 28 июля 2010

Вам нужно позвонить $mw->update(); после того, как вы raise() откроете главное окно.

Tcl Tk Wiki объясняет почему в деталях.

...