I want to use QNetWorkAccessManager
to finish HTTP-GET
and try to pass a value to the reply_finished
slot,then I hope get feedback from the slot to its call function(e.g. MainWindow
).I used https://stackoverflow.com/a/21362640/7519936
and pass a point as value to the reply_finished
slot, but my application crashed.
Here are my MainWindow
code:
QHash<QNetworkReply*, QString*> data_storage;
QString data="";
manager = new QNetworkAccessManager(this);
QNetworkReply* reply =manager->get(QNetworkRequest(QUrl("http://example.com")));
data_storage[reply] = &data;
connect(manager, SIGNAL(finished(QNetworkReply*)),this,SLOT(reply_Finished(QNetworkReply*)));
The reply_finshed
slot code:
void MainWindow::reply_Finished(QNetworkReply *reply)
{
data_storage.value(reply)->append("test");
data_storage.remove(reply);
//other
}
Please do not mind my English. Please help me, thanks!