Я удивлен, что нет активированного сигнала и у меня такая же проблема. Я решил это, сделав подкласс QComboBox. Я думаю, что лучше избегать прямого доступа к объекту и вызова его функций, потому что это означает более тесную связь и противоречит философии Qt. Итак, вот класс, который я сделал, который работает для меня.
class SmartComboBox : public QComboBox {
Q_OBJECT
private slots:
void triggerVariantActivated(int index);
public:
SmartComboBox(QWidget *parent);
signals:
void activated(const QVariant &);
};
И реализация
void SmartComboBox::triggerVariantActivated(int index)
{
activated(itemData(index));
}
SmartComboBox::SmartComboBox(QWidget *parent)
:QComboBox(parent)
{
connect(this, SIGNAL(activated(int)), this, SLOT(triggerVariantActivated(int)));
}