这就是我的任务:我从
QNetworkAccessManager* manager= new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(parse_data_request(QNetworkReply*)));
connect(manager, &QNetworkAccessManager::finished, manager,
&QNetworkAccessManager::deleteLater,Qt::QueuedConnection);
我想用QNetworkReply*发送到slot parse_data_request int变量,如下所示:
QNetworkAccessManager* manager= new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*,int)), this, SLOT(parse_data_request(QNetworkReply*,int)));
connect(manager, &QNetworkAccessManager::finished, manager,
&QNetworkAccessManager::deleteLater,Qt::QueuedConnection);
我该怎么做呢?
发布于 2020-02-22 13:17:33
如果您使用的是Qt5 (看起来就是这样),那么您可以使用lambda作为连接的目标……
int request_id = ...;
QNetworkAccessManager* manager= new QNetworkAccessManager(this);
connect(manager, &QNetworkAccessManager::finished, this,
[this, request_id](QNetworkReply *reply)
{
parse_data_request(reply, request_id);
});
connect(manager, &QNetworkAccessManager::finished, manager, &QNetworkAccessManager::deleteLater,Qt::QueuedConnection);
https://stackoverflow.com/questions/60352413
复制相似问题