2013-09-30 3 views
1

Мне нужно автоматически обновить optionmenu в Perl Tk, привязывая массив к Optionmenu, если это возможно.Связать опцию с массивом в Perl TK

Для примера, я могу сделать это успешно с ListBox:

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

Однако, когда я пытаюсь делать то же самое для Optionmenu он не автозагрузку.

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

Это невозможно? Или я делаю что-то неправильно? Благодарю.

+0

интерфейс галстука не реализован для 'Tk :: Optionmenu'. Но я принимаю патчи :-) –

ответ

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]);