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;

0 ответов

Другие вопросы по тегам