Комментарии 19
Не хочу быть "затычкой каждой дырке", но должен заметить, что в "мертвом" Делфи, это реализовано лет 5 назад)
Смотрим компоненты для работы с REST
Hidden text
Qt 5.8 вышел в январе 2017-го, пять с половиной лет назад.
Виноват. Я не учел возраст минимальной версии. Однако, хочу исправиться
REST пакет в Delphi имеется как минимум с 2013 года
https://webdelphi.ru/2013/12/delphi-xe5-eshhyo-odin-primer-ispolzovaniya-rest-client-library/
По Qt-аналогам того, что используется конкретно в этом примере: QHttp
был ещё в Qt 3.x (это начало нулевых), в более поздних версиях его заменили на QNetworkAccessManager
. Причём оба были изначально асинхронные, а в примере по вашей ссылке Execute
блокирующий, насколько я понимаю (на Delphi не писал уже сто лет, не знаю, как там с этим было в 2013-м, если реально не было асинхронного варианта сделать REST-запрос без запуска отдельного потока, то это никуда не годится). QJsonObject
с присными появился в Qt 5.0, это 2012 год, но ещё в Qt 4.7 (2010 год) был QML с полагающимся в ECMAScript-языке JSON.parse()
.
Execute
- блокирующий, однако там есть ExecuteAsync.
У THTTPClient есть как блокирующие методы, так и всякие BeginGet/BeginPost и т.д. - не блокирующие.
Помимо работы с REST, эта библиотека имеет сериализатор/десериализатор JSON.
var MyObject := TJson.JsonToObject<TMyObject>('{ "field": "dd", "field2": 123 }');
var JSON := TJson.ObjectToJsonString(MyObject);
Да и создавать потоки не нужно созданием класса потока (TThread), достаточно написать
TTask.Run(
procedure
begin
HTTP.Get(Url)...
end);
Почему "Для Qt6 лучше подходит msvc + CMake" ?
Моё личное мнение
mingw не поддерживает некоторые модули, например, QWebEngine. По крайней мере, так было у меня чуть больше года назад, и я не видел новости, чтобы что-то заработало. Так что тут лучше msvc.
На Cmake собственно перешёл сам Qt. Его активно развивают. Для простых проектов всё ещё можно использовать qmake, но имхо Cmake банально мощнее.
ок )
согласно https://stackoverflow.com/a/34958057 для QWebEngine - ограничение гугла
можно ли пару реальных примеров где cmake удобнее qmake ?
OAuth2.0 авторизация в Vk средствами Qt5.8 и выше