Сериализация в Qt
При использовании библиотеки Qt для программирования с графическим интерфейсом вы можете столкнуться с необходимостью сериализации большой ситуации с картой стандартной библиотеки. «MyType» — это класс с полями разных типов. Какие возможности Qt предоставляет для сериализации отображений?
Использование QDataStream для сериализации
QDataStream может обрабатывать различные типы данных C и Qt, включая контейнеры STL. Подробный список поддерживаемых типов данных можно найти в документации Qt. Чтобы добиться сериализации пользовательских типов, нам необходимо перегрузить операторы >. Ниже приведено определение пользовательского типа данных, которое можно использовать с QDataStream:
class Painting { public: // ... }; QDataStream &operator>(QDataStream &in, Painting &painting);
Перегружая оператор
QDataStream &operatorПерегружая оператор >>, мы можем читать пользовательские данные из потока:
QDataStream &operator>>(QDataStream &in, Painting &painting) { // ... return in; }Перегружая эти операторы, мы можем беспрепятственно использовать пользовательские типы с QDataStream для сериализации и десериализации карт.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3