У вас соединение только с помощью строк SIGNAL() SLOT()?
Вот вариант для нового способа соединения:
Если все параметры могут быть преобразованы в QVariant и используется С++11, можно попробовать как-то так:
signals:
void someSignal1(QString a);
void someSignal2(int a, QString b);
void someSignal3(float a, int b, QString c);
...
void someSlot(QVariant arg1,QVariant arg2, QVariant arg3);
и соединение сигналов и слотов:
connect(sender, &Sender::someSignal1, std::bind( &Receiver::someSlot, receiver, std::placeholders::_1, QVariant(), QVariant() ));
connect(sender, &Sender::someSignal2, std::bind( &Receiver::someSlot, receiver, std::placeholders::_1, std::placeholders::_2, QVariant()));
connect(sender, &Sender::someSignal3, std::bind( &Receiver::someSlot, receiver, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3 ));
Проще я не смог придумать