Сериализация QAbstractListModel для работы в сети (Qt-Server - QML-Client)

0

В настоящее время я пишу QML-приложение, которое использует несколько моделей, Объекты и свойства, предоставленные C++. Я хочу сделать это, чтобы централизовать создание данных, чтобы получить доступ к ним с несколькими клиентами. Поэтому мне нужно разделить мое приложение.

Сервер. Он должен предоставлять модели и свойства всякий раз, когда клиент запрашивает их.

Клиент: запрашивает данные (модель, объект или свойство) по tcp.

Я понял, что JSON может быть хорошим вариантом, так как он работает с простым текстом.

Есть ли хороший (простой) способ сериализации полной модели с использованием JSON? или Вы знаете другой способ сериализации полных моделей?

Теги:
qt
serialization

1 ответ

0
Лучший ответ

Каждая модель имеет свою структуру, типы данных (текст, шрифт, изображения...) и механизмы обработки данных. Вот почему не может быть универсального способа сериализации модели.

Кроме того, хороший способ использования модели - рассматривать ее как адаптер. Это еще одна причина, почему нет никакого модельного сериализатора.

Таким образом, вам необходимо закодировать сериализацию данных:

  • Вы можете использовать JSON. Ищите хороший парсер для C++ здесь. Или используйте классы JSON, если вы используете Qt5.

  • Также вы можете посмотреть QSettings который может сохранять/читать данные в ini файле.

  • Большинство стандартных типов операторов должны быть записаны в stream. Затем вы можете кодировать и передавать его через TCP.

  • 0
    Qt5 уже имеет хорошую поддержку JSON;)
  • 0
    @jbh Спасибо. Добавил в ответ.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню