// Вместо сигналов/слотов используй процедуры
можно пример?
просто у меня так ща сделано:
void MainWindow::on_pushButton_clicked()
{
...
QNetworkAccessManager *qnam = new QNetworkAccessManager;
connect(qnam, SIGNAL(finished(QNetworkReply*)), this, SLOT(download1(QNetworkReply*)));
qnam->get(QNetworkRequest(QUrl("
https://uslugi.beeline.ru/")));
...
}
void MainWindow::download1(QNetworkReply *reply)
{
ui->textBrowser->insertPlainText("signal dostig download1()!\n");
reply->deleteLater();
if(reply->error() != QNetworkReply::NoError){
ui->errorLabel->setText(tr("%1").arg(reply->errorString()));
//return;
}
QByteArray answer = reply->readAll();
...
}
и я пока не представляю как по-другому реализовать?..
Прошу прощения, я не обдуманно ответил.
как мне это заменить?!
C++ (Qt)
connect(qnam, SIGNAL(finished(QNetworkReply*)), this, SLOT(download1(QNetworkReply*)));
Заменить на что? Тебе надо подождать пока запрос выполниться? QNetworkRequest::get() возвращает QNetworkReply*, у которого есть ф-ция isFinished(). Но только делать это всё надо в отдельном потоке.. тогда можно последовательно пробежаться по списку, к примеру:
C++ (Qt)
QList<QString> list;
list << "123" << "456" << "789"; // номера
foreach (QString phone, list) {
...
QNetworkReply *reply = qnam->get(QNetworkRequest(QUrl("https://uslugi.beeline.ru/")));
while (!reply->isFinished()) {
usleep(10);
}
if(reply->error() != QNetworkReply::NoError){
...
}
}