Hola,
QSignalMapper es una buena idea.
Y si tu tienes otros tipos de SIGNALs que no son compatibles con QSignalMapper (Por ejemplo colorSelected()), entonces hay QObject::sender() que funciona con todo.
Por ejemplo para recuperar el boton que se ha apretado en el slot, es algo así :
Código C++:
Ver originalQPushButton *elBoton = qobject_cast<QPushButton *>(sender());
Saludos.