QSignalMapper
очень хорошо подходит для такого типа вещей.
Вы можете определить свой слот, например, так:
public slots:
void clicked(int buttonId); // or maybe trackId
Затем добавьте QSignalMapper*
члена вашего класса и подключите его к этому слоту:
signalMapper = new QSignalMapper(this);
connect(signalMapper, SIGNAL(mapped(int)),
this, SLOT(clicked(int)));
В addRadioToUI
после создания вашей кнопки выполните:
signalMapper.setMapping(one, button_cunter);
// or trackId if that's more practical
Если все, что вам нужно, этоуказатель на объект, который вызвал сигнал, однако, вы можете использовать статическую функцию QOjbect::sender
в своем слоте, чтобы справиться с этим.