Я использовал лямбды c ++ 11 для решения аналогичной проблемы.В основном вы фиксируете информацию о цели в лямбде, поэтому при срабатывании сигнала вы можете сделать что-то конкретное для цели.Например:
abutton.signal_clicked().connect([this,&abutton]{ handle_click(abutton); });
Я считаю, что это будет работать с gtkmm 2.x, но я использовал его только с 3.0, и я не знаю, как sigc ++ изменился между двумя версиями.Если вы не можете использовать функции c ++ 11, возможно, вы сможете сделать что-то похожее с лямбда-функциональностью, которая поставляется с sigc ++, но у меня нет опыта работы с ней.