#!/usr/bin/perl use strict; use warnings; use Gtk2 -init; use Gtk2::GladeXML; my $gfile='test.glade'; my $count=0; my $glade=Gtk2::GladeXML->new($gfile,'mainwin'); $glade->signal_autoconnect_from_package('main'); $glade->get_widget('mainwin')->show_all(); Gtk2->main; sub do_add_template { my $pos=$count; my $template=Gtk2::GladeXML->new($gfile,'hbox_template'); my $label=$template->get_widget('label_info'); $label->set_label(''); $template->get_widget('button_template')->signal_connect(clicked => sub{ $label->set_label(sprintf("Position: %02u",$pos)); }); my $widget=$template->get_widget('hbox_template'); $glade->get_widget('vbox_insert')->pack_start($widget, 0, 1, 0); $count++; } sub do_ende { Gtk2->main_quit; }