我在树视图上有一个弹出菜单,用户可以在其中选择要从备份恢复的机器。我想简化界面并制作一个根据可用文件动态生成的子菜单。这是我到目前为止所拥有的:
$restore_item->set_submenu($arc_menu);
open( FILE, "archives.db" ) or die("Unable to open file");
foreach (<FILE>) {
# if record is correct
if ( $_ =~ /archive=(.+)/ ) {
my $item = new Gtk2::MenuItem( "_" . $1 );
$item->signal_connect( 'activate' => sub { print "selected\n"; });
$arc_menu->append($item);
}
}
close(FILE);
但是,在现实生活中,我将不得不阅读菜单项文本,因为文件可以动态更改,我不能依赖计数或其他东西。我不明白如何从回调中获取菜单项文本。