alex_lipNov. 13, 2017, 8:48 a.m.
Опять NetworkAccessManager
Все пытаюсь выполнить два запроса в одной сессии. Мне нужно обработать два replay от одного accessmanager. Как мне правильно описать функцию onResult и ее вызвать в этой конструкции
connect(replay,QNetworkReply::finished,this,AppCore::onResult(QNetworkReply *reply));Вы говорили что писать SIGNAL() и SLOT() - нехорошо. Я опять запутался.
networkManager = new QNetworkAccessManager(); url = server_ip_loc+"search/sea/"+text; url_context =server_ip_loc+"in_put/set_cont"; QNetworkRequest request( url_context ); request.setHeader( QNetworkRequest::ContentTypeHeader, "application/json" ); QJsonObject json { {"id", user_id} }; QEventLoop loop; QNetworkReply* replay_cont = networkManager->post(request, QJsonDocument(json).toJson()); QObject::connect(replay_cont,&QNetworkReply::finished,&loop,&QEventLoop::quit); loop.exec(); QNetworkReply *replay = networkManager->get(QNetworkRequest(QUrl(url)));
connect(replay,QNetworkReply::finished,this,AppCore::onResult(QNetworkReply *reply));
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
d
- dsfs
- April 26, 2024, 1:56 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
d
- dsfs
- April 26, 2024, 1:35 a.m.
C++ - Test 001. The first program and data types
- Result:73points,
- Rating points1
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 4, 2024, 10:50 p.m.
EVADec. 25, 2023, 7:30 a.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
Evgenii LegotckoiMay 2, 2024, 11:07 a.m.
IscanderCheApril 30, 2024, 1:22 a.m.
Павел ДорофеевApril 13, 2024, 11:35 p.m.
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
И как выставить
QNetworkConfigurationManager::NetworkSessionRequired тоже непонятно. Везде в примерах ну очень муторно!
Я бы подключился как обычно, также к QNetworkAccessManager`у вместо QNetworkReply.
Пробовал - плохо получается. С LOOP хотя бы последовательность есть. Там железно сначала один идет запрос , потом другой.
В любом случае, ответ нужно принимать через метод finished у QNetworkAccessManager.
А почему нельзя вешать на replay?
Да в принципе можно, только Вам тогда нужно сделать замыкание через лямбду на этот reply, чтобы из него брать ответную информацию. А networkManager возвращает текущий ответ.
Хотя я решил вопрос на стороне сервера ))). Просто SQL View по другому сделал. Без контекста. Но теоретически все равно интересно. Где надо принимать ответ через NetworkManager, а где через NetworkReplay. В книжке Макса Шлее написано, что как раз QNetworkReplay содержит данные ответа.
И все-таки где сессия начинается и где заканчивается?
PS. Ваша заметка про синтаксис сигналов и слотов хороша, но она скорее для продвинутых. Вот здесь немного проще - https://habrahabr.ru/post/141983/ - может быть добавите пару абзацев сначала для начинающих.
Уже давно всё есть на сайте про сигналы и слоты:
Извините пожалуйста. Не увидел. Очень сложно всю необходимую матчасть прочитать когда работаешь и по работе тебе это в принципе не нужно. Я для себя придумал задачу и пытаюсь ее написать. Буду изучать. Спасибо.