Вы можете создать цепочку сигналов, соединяющую два сигнала вместо сигнала и слота, без причины испускать сигнал самостоятельно.
Дайте вашему классу Test
такой сигнал :
signals:
void comboBoxActivated(int index);
Когда вы создаете поле со списком:
comboBox = new QComboBox(this);
connect(comboBox, QOverload<int>::of(&QComboBox::activated), this, &Test::comboBoxActivated);
Теперь дайте вашему классу UI manager слот для приема сигнала activated
:
private slots:
void testComboBoxActivated(int index);
Теперь, если у вас есть экземпляр Test
в классе менеджера пользовательского интерфейса, например,
Test * test = new Test();
подключит свой сигнал к слоту менеджера:
connect(test, &Test::comboBoxActivated, this, &UIManager::testComboBoxActivated);
Таким образом, комбо будет в первую очередь подайте сигнал, который будет перенаправлен классом Test
и, наконец, получен слотом менеджера пользовательского интерфейса.