Perl TK несколько команд на одну кнопку

Я хотел бы сделать, это иметь кнопку, чтобы закрыть мое окно (button_window), но также вызвать функцию (user_info):

my $btn = $main -> Button (-text => 'Start',
-command => sub {$button_window -> destroy},
-command => \&user_info)
-> pack ();

выполняет только последнюю команду, спасибо заранее

1 ответ

Решение

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

my $btn = $main->Button(
    -text    => 'Start',
    -command => sub {
        user_info();
        # do something else...
        $button_window->destroy;
    },
)->pack();

Он выполняет только последнюю команду, поскольку хеш-параметр может иметь только один ключ -command, поэтому он перезаписывается.

Другие вопросы по тегам