La funzione CheckSite() viene chiamata con un url come http://example.com, inizializza un oggetto QNetworkAccessManager e connette() slot e segnali.Qt QNetworkAccessManager non emette segnali
La chiamata manger-> get() sembra funzionare (genera traffico http) ma non chiama lo slot replyFinished() alla fine della richiesta.
Cosa c'è di sbagliato con questo codice?
#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));
}
Hai trovato la soluzione? Sto avendo lo stesso problema. –
no, smetto di funzionare nel progetto – Emilio