如何避免魔法Gtk2 accel_key号码?

时间:2011-05-24 14:59:32

标签: perl gtk gtk2

我想在我的GTK应用程序中使用Gtk2绑定Perl的子程序加速器。 Gtk2::AccelGroup ->connect()使用$accel_key作为参数,它似乎是表示键的整数。 Gtk2可以导出常量或函数来代替这个神奇的数字吗?

1 个答案:

答案 0 :(得分: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' }
);