Size: a a a

2020 July 08

AS

Anatoly Shirokov in Qt
Побитый Кирпич
Вопрос по архитектуре в Qt прилаге:

Я хочу получить данные  с веб сервиса и отобразить их в гуе.
Видимо, у меня будет WebServiceClient класс, который содержит QNetworkAccessManager и отправляет GET запросы.

Интересует, как лучше всего организовать интерфейс WebServiceClient?
Я бы хотел, чтобы у WebServiceClient был метод
??? getFooData(Params params);
Этот метод будет звать get метод у менеджера и подписываться на finished у QNetworkReply. В слоте сигнала finished будет парсинг реплая, конструирование из него FooData. И вот тут я пока не сообразил...

Как FooData в итоге должны быть переданы в гуйовый код? Какой тип возврата должен быть у getFooData? Я вижу вариант с передачей колбека в getFooData, как в boost.asio. Но хотелось бы понять как принято в Qt делать? Возвращать некий объект WebServiceResponse у которого тоже будет сигнал finished, который уже будет содержать конечные FooData?
В виду того, что QNetworkAccessManager асинхронен, то можешь возвращать что-то вроде "промиса" (терминология JS) из функции запроса. Пример https://gist.github.com/anatoly-spb/f9802dc4d1eef051327ab1c75291441f#file-serviceexecutor-cpp-L84
источник

AS

Anatoly Shirokov in Qt
Michael Ivanov
Текст ошибки пробел
а что за версия FireBird?
источник

MI

Michael Ivanov in Qt
Anatoly Shirokov
а что за версия FireBird?
2.1
источник

MI

Michael Ivanov in Qt
64 битная, подключаюсь 32-битным клиентом
источник

AS

Anatoly Shirokov in Qt
что-то старое, от 18 Apr 2008?
источник

RG

Renat Garaev in Qt
Anatoly Shirokov
а что за версия FireBird?
А у 64 битного микрософт офиса, тоже 32 битный драйвер odbc. Помог мне это обнаружить мне @crackedmind
источник

ПК

Побитый Кирпич... in Qt
Anatoly Shirokov
В виду того, что QNetworkAccessManager асинхронен, то можешь возвращать что-то вроде "промиса" (терминология JS) из функции запроса. Пример https://gist.github.com/anatoly-spb/f9802dc4d1eef051327ab1c75291441f#file-serviceexecutor-cpp-L84
Спасибо за пример, изучу
источник

D

Djem in Qt
Всем привет, как подключить dll и использовать ее методы? При этом h и lib файлов нет. Сейчас использую QLibrary, приходится каждый раз обращаться к методу  через resolve
источник

AS

Anatoly Shirokov in Qt
Djem
Всем привет, как подключить dll и использовать ее методы? При этом h и lib файлов нет. Сейчас использую QLibrary, приходится каждый раз обращаться к методу  через resolve
по-моему, ты ответил на свой вопрос
источник

Е

Егор in Qt
Djem
Всем привет, как подключить dll и использовать ее методы? При этом h и lib файлов нет. Сейчас использую QLibrary, приходится каждый раз обращаться к методу  через resolve
а что это за либа такая без интерфейса
источник

M

Mr.Mait in Qt
Djem
Всем привет, как подключить dll и использовать ее методы? При этом h и lib файлов нет. Сейчас использую QLibrary, приходится каждый раз обращаться к методу  через resolve
Зачем каждый раз, если знаешь прототип то можешь один раз вызвать resolve при запуске программы

typedef void (*MyFunc)(int)
...
QLibrary dll("test.dll");
if (dll.load())
{
   MyFunc mf = reinterpret_cast<MyFunc>(dll.resolve("myFunc"));
}
источник

D

Djem in Qt
Егор
а что это за либа такая без интерфейса
компания предоставила dll и описание методов
источник

ПК

Побитый Кирпич... in Qt
Anatoly Shirokov
В виду того, что QNetworkAccessManager асинхронен, то можешь возвращать что-то вроде "промиса" (терминология JS) из функции запроса. Пример https://gist.github.com/anatoly-spb/f9802dc4d1eef051327ab1c75291441f#file-serviceexecutor-cpp-L84
https://github.com/bwalter/qt-promise

Вон что нашёл, пока по примерам и функционалу выглядит неплохо
источник

AS

Anatoly Shirokov in Qt
да, ничего, если что можно самому суппортить
источник

ИК

Илья Кобзев... in Qt
Подскажите пожалуйста: в ячейке QTableView model-based нужно написать 3 строки, каждая строка своим цветом. Это делегатом делается?
источник

МВ

Макс Воробьев... in Qt
Илья Кобзев
Подскажите пожалуйста: в ячейке QTableView model-based нужно написать 3 строки, каждая строка своим цветом. Это делегатом делается?
возможно как-то через роль получится https://doc.qt.io/qt-5/qt.html#ItemDataRole-enum
источник

AS

Anatoly Shirokov in Qt
чтобы три строки в одной ячейке только делегатом
источник

ИК

Илья Кобзев... in Qt
ок. спасибо.
источник

IZ

Ilia Zviagin in Qt
Djem
Всем привет, как подключить dll и использовать ее методы? При этом h и lib файлов нет. Сейчас использую QLibrary, приходится каждый раз обращаться к методу  через resolve
Никак
источник

IZ

Ilia Zviagin in Qt
Djem
компания предоставила dll и описание методов
Эммм... Назови этих идиотов.
источник