La fonction CheckSite() est appelée avec une adresse comme http://example.com, elle initialise un objet QNetworkAccessManager et connecte() des emplacements et des signaux. L'appel de manger-> get() semble fonctionner (il génère un trafic http) mais n'appelle pas le slot replyFinished() à la fin de la requête.Qt QNetworkAccessManager n'émet pas de signaux
Quel est le problème avec ce code?
#include <QtCore>
#include <QtNetwork>
class ClientHandler : public QObject
{
Q_OBJECT
QNetworkAccessManager *manager;
private slots:
void replyFinished(QNetworkReply *);
public:
void CheckSite(QString url);
};
void ClientHandler::replyFinished(QNetworkReply *reply) { qDebug() << "DONE"; }
void ClientHandler::CheckSite(QString url) {
QUrl qrl(url);
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(qrl));
}
Avez-vous trouvé la solution? J'ai le même problème. –
non, je cesse de travailler sur le projet – Emilio