Мне нужен ускоритель для подпрограммы в моем приложении GTK, использующий привязки Gtk2
для Perl. Gtk2::AccelGroup
->connect()
принимает $accel_key
в качестве аргумента, который, похоже, целое число, представляющее ключ. Может ли Gtk2
экспортировать константы или функцию для использования вместо этого магического числа?
Как избежать магических чисел Gtk2 accel_key?
Ответы (1)
Используйте Gtk2::Accelerator->parse():
use Gtk2;
my ( $key, $mods ) = Gtk2::Accelerator->parse( '<control><alt>a' );
# $key is 97
# $mods is '[ control-mask mod1-mask ]'
my $ag = Gtk2::AccelGroup->new();
$ag->connect(
Gtk2::Accelerator->parse( '<control><alt><a>' ),
[qw/visible/], sub { say 'hi' }
);
person
Tim
schedule
24.05.2011