将Optionmenu绑定到Perl TK中的数组

时间:2013-09-30 17:25:07

标签: perl tk perltk

如果可能的话,我需要通过将数组绑定到Optionmenu来自动更新Perl Tk中的optionmenu。

举个例子,我可以使用列表框成功完成此操作:

tie @datafile, "Tk::Listbox", $lb;

然而,当我尝试为Optionmenu做同样的事情时,它无法使用AUTOLOAD。

tie @optionfile, "Tk::Optionmenu", $om;

这不可能吗?或者我做错了什么?谢谢。

1 个答案:

答案 0 :(得分:0)

在审核模块后,我注意到了一个解决方案,虽然时间更长 - 仍然是一个解决方案。我希望这可以帮助那些使用这些旧东西的人。

以下是模块:http://cpansearch.perl.org/src/SREZIC/Tk-804.031/Tk/Optionmenu.pm

向optionmenu添加选项

# Add to the array 
push @datafile3, $newReport;
# Add to the optionmenu
$om->addOptions($newReport);

然后删除

# removing an option from the array and also the optionmenu itself. 
my $index = 0;

# remove from array
$index++ until $datafile3[$index] eq $selectBatch;
splice(@datafile3, $index, 1);
# remove from menu
$om->configure( -options  => [@datafile3]);