Я думаю, что основная проблема заключается в том, что ваш оператор connect
не соответствует спецификации сигнала для QOfonoManager::availableChanged
.Сигнал испускается с параметром bool
...
Q_EMIT availableChanged(true);
Но ваш оператор соединения утверждает, что это сигнал без параметров ...
connect(this->manager, SIGNAL(availableChanged()), this, SLOT(manager_available()));
(не появляется сообщение об ошибке на консоли? Что-то вроде "QObject::connect: No such signal ..."
?)
Изменение оператора соединения на следующее должно помочь решить проблему ...
connect(this->manager, SIGNAL(availableChanged(bool)), this, SLOT(manager_available()));
Или, что еще лучше, используйте новый синтаксис сигнала / слота , если вы используете Qt5
...
connect(this->manager, &QOfonoManager::availableChanged, this, &MyClass::manager_available);
В дополнение к вышесказанному вы должны прислушаться к совету @scopchanov & @ixSci относительно размещения ваших connect
заявлений.Крайне важно, чтобы соединения были установлены до того, как будут испущены сигналы, иначе уведомления будут пропущены.