Perl Gtk2 widget->foreach() с теми же значениями
Я создаю конфигурационное программное обеспечение nftables на основе gtk2, и вот моя проблема:
У меня есть HBox без ввода в начале. затем пользователь может нажать кнопку добавления, чтобы появился первый экземпляр раскрывающегося списка. Я сделал сигнал подключения, когда кнопка нажата и в подпункте я создаю выпадающий список. после всего создания я упаковываю созданную вещь в Hbox и возвращаюсь. Если пользователь нажимает кнопку "Добавить" еще раз, появляется другой экземпляр. В конце всего кода вся раскрывающаяся информация должна быть прочитана и собрана.
моя идея заключается в том, чтобы мы использовали функцию HBox->foreach() и читали данные с помощью get_active_value().
Но, в конце концов, строка содержит только последнее значение. когда я распечатываю значения во время foreach, появляется только последнее значение.
Итак, в чем моя вина? Большое спасибо за помощь;)
РЕДАКТИРОВАТЬ Если я выбираю "foo_1" и "foo_2" для первого vbox и "bar_1" и "bar_2" во втором, возвращаемая строка содержит только "bar_1 bar_2 bar_1 bar_2".
КОД
my $Hbox = Gtk2::HBox->new();
$button->signal_connect('clicked', sub {
my $VBox = Gtk2::VBox->new();
my $dropdown = Gtk2::ComboBox->new_text();
my $dropdown_2 = Gtk2::ComboBox->new_text();
#... create some values ...
$VBox->pack_start($dropdown,FALSE,FALSE,5);
$VBox->pack_start($dropdown_2,FALSE,FALSE,5);
$Hbox->pack_start($VBox, FALSE,FALSE,5);
})
...
my $final;
$HBox->foreach(sub {
$final = $final.$dropdown->get_active_text().$dropdown_2->get_active_text();
}
);
print $final;