Добавить значение для сигнала - PullRequest
0 голосов
/ 22 февраля 2020

Это задача: я ловлю сигнал от

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);

И я хочу отправить в слот переменную parse_data_request int с помощью QNetworkReply * следующим образом:

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);

Как я могу это сделать

1 Ответ

2 голосов
/ 22 февраля 2020

Если вы используете Qt5 (который вам кажется), вы можете использовать лямбду в качестве цели соединения ...

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);
...