У меня есть простой класс Networking с:Сигналы не получают излучаемый
private:
QNetworkAccessManager *httpclient;
создать объект в конструкторе и подключить сигнал и слот:
httpclient = new QNetworkAccessManager(this);
connect(httpclient, SIGNAL(finished(QNetworkReply*)), this, SLOT(httpRequestFinished(QNetworkReply*)));
Теперь я собирается вызвать метод получения QNetworkAccessManager через открытый метод getPage:
void Networking::getPage(const QString &uri)
{
QNetworkRequest request;
request.setUrl(uri);
httpclient->get(request);
}
Я ожидаю, что httpRequestFinished получает вызов, но это не так. Я также попробовал это для целей тестирования:
void Networking::getPage(const QString &uri)
{
QNetworkRequest request;
request.setUrl(uri);
reply = httpclient->get(request);
connect(reply, SIGNAL(finished()), this, SLOT(httpReplyFinished()));
}
где ответ правильно определен в файле networking.h:
private:
QNetworkAccessManager *httpclient;
QNetworkReply *reply;
Ничего не изменилось! Но если я получаю сообщение reply-> bytesAvailable() после получения запроса, все сигналы будут испускаться одновременно! Я ищу сейчас несколько часов, но не знаю, что я делаю неправильно.