2015-09-26 3 views
0

Как очень простой пример, предположим, что у меня есть одна кнопка, и каждый раз, когда я нажимаю кнопку, я хочу, чтобы она вызывала другой обратный вызов. Итак, сначала настроено называть hello(), а затем hello() меняет вещи, поэтому при следующем нажатии кнопки вызывает world().Tkx: Возможно ли изменить обратный вызов кнопки во время выполнения.

ответ

0

RTFM !!!

Оказывается, любой из атрибутов виджета может быть изменен с помощью метода «Настройка»:

... 
$btn = $frame->$new_ttk__button(-text => "hello", -command => \&say_hello()); 
Tkx::MainLoop(); 

sub somefunc_invoked_by_some_other_button { 
    $btn->configure(-text => "goodbye", -command => \&say_bye()); 
} 
Смежные вопросы