#include #include #include #include #include #include struct param { Gtk::Entry *e; Gtk::Label *l; }; void on_button_clicked(param p) { p.l->set_text("Bonjour " + p.e->get_text() + " !"); } int main(int argc, char **argv) { Gtk::Main app(argc, argv); Gtk::Window w; Gtk::VBox vb; Gtk::Label l; vb.pack_start(l); l.show(); Gtk::Entry e; vb.pack_start(e); e.show(); Gtk::Button b("Bonjour !"); param p = { &e, &l }; b.signal_clicked().connect(SigC::bind(SigC::slot(&on_button_clicked), p)); vb.pack_start(b); b.show(); w.add(vb); vb.show(); app.run(w); return 0; }