Spec-Zone.ru › Qt 5.9

Сериализация типов данных Qt

Класс QDataStream позволяет сериализовать некоторые типы данных Qt. В таблице ниже перечислены типы данных, которые QDataStream может сериализовать и как они представлены. Описанный ниже формат — версия 13.

В идеале, при чтении и записи целых чисел следует приводить их к типам целых чисел Qt, таким как qint16 или quint32. Это гарантирует, что вы всегда точно знаете размер целых чисел, которые читаете и записываете, независимо от платформы и архитектуры, на которой работает приложение.

bool
  • boolean
qint8
  • знаковое байтовое значение
qint16
  • знаковое 16-битное целое число
qint32
  • знаковое 32-битное целое число
qint64
  • знаковое 64-битное целое число
quint8
  • беззнаковое байтовое значение
quint16
  • беззнаковое 16-битное целое число
quint32
  • беззнаковое 32-битное целое число
quint64
  • беззнаковое 64-битное целое число
float
  • 32-битное число с плавающей точкой, использующее стандартный формат IEEE 754
double
  • 64-битное число с плавающей точкой, использующее стандартный формат IEEE 754
const char *
  • Длина строки (quint32)
  • Символы строки, за исключением завершающего 0
QBitArray
  • Размер массива (quint32)
  • Биты массива, т.е. (размер + 7)/8 байт
QBrush
  • Стиль кисти (quint8)
  • Цвет кисти (QColor)
  • Если стиль — CustomPattern, то растровое изображение кисти (QPixmap)
QByteArray
  • Если массив байтов равен null: 0xFFFFFFFF (quint32)
  • В противном случае: размер массива (quint32), за которым следуют байты массива, т.е. размер байт
QColor
  • Спецификация цвета (qint8)
  • Значение альфа-канала (quint16)
  • Значение красного цвета (quint16)
  • Значение зеленого цвета (quint16)
  • Значение синего цвета (quint16)
  • Значение заполнения (quint16)
QCursor
  • Идентификатор формы (qint16)
  • Если форма — BitmapCursor: растровое изображение (QPixmap), маска (QPixmap) и точка привязки (QPoint)
QDate
  • Джулианский день (quint32)
QDateTime
  • Дата (QDate)
  • Время (QTime)
  • Смещение от UTC (qint32) если Qt::TimeSpec — offsetFromUtc; Временная зона (QTimeZone) если Qt::TimeSpec — TimeZone
QEasingCurve
  • тип (quint8)
  • функция (quint64)
  • имеетКонфигурацию (bool)
  • Если имеетКонфигурацию — true, то следуют эти поля:
  • список
  • период (double)
  • амплитуда (double)
  • перехват (double)
QFont
  • Семейство шрифтов (QString)
  • Имя стиля шрифта (QString)
  • Размер шрифта (double)
  • Размер шрифта в пикселях (qint32)
  • Подсказка стиля (quint8)
  • Стратегия стиля (quint16)
  • Набор символов (quint8)
  • Вес шрифта (quint8)
  • Биты шрифта (quint8)
  • Натяжение шрифта (quint16)
  • Расширенные биты шрифта (quint8)
  • Интервал между буквами (double)
  • Интервал между словами (double)
  • Предпочтения для подгонки шрифта (quint8)
QHash<Key, T>
  • Количество элементов (quint32)
  • Для всех элементов, ключ (Key) и значение (T)
QIcon
  • Количество записей растровых изображений (quint32)
  • Для всех записей растровых изображений:
    • Растровое изображение (QPixmap)
    • Имя файла (QString)
    • Размер растрового изображения (QSize)
    • Режим (mode) (quint32)
    • Состояние (state) (quint32)
QImage
  • Если изображение равно null, сохраняется маркер "null image"; в противном случае изображение сохраняется в формате PNG или BMP (в зависимости от версии потока). Если вам нужен контроль над форматом, запустите изображение в QBuffer (с использованием QImageIOHandler/QImageIOPlugin) и запустите это.
QKeySequence
  • Список QList<int>, где каждое целое число — это ключ в последовательности ключей
QLinkedList<T>
  • Количество элементов (quint32)
  • Элементы (T)
QList<T>
  • Количество элементов (quint32)
  • Элементы (T)
QMap<Key, T>
  • Количество элементов (quint32)
  • Для всех элементов, ключ (Key) и значение (T)
QMargins
  • left (int)
  • top (int)
  • right (int)
  • bottom (int)
QMatrix
  • m11 (double)
  • m12 (double)
  • m21 (double)
  • m22 (double)
  • dx (double)
  • dy (double)
QMatrix4x4
  • m11 (float)
  • m12 (float)
  • m13 (float)
  • m14 (float)
  • m21 (float)
  • m22 (float)
  • m23 (float)
  • m24 (float)
  • m31 (float)
  • m32 (float)
  • m33 (float)
  • m34 (float)
  • m41 (float)
  • m42 (float)
  • m43 (float)
  • m44 (float)
QPair<T1, T2>
  • first (T1)
  • second (T2)
QPalette Группа цветов для отключенного, активного и неактивного состояний, каждая из которых состоит из следующего:
  • передний план (QBrush)
  • кнопка (QBrush)
  • светлый (QBrush)
  • полусветлый (QBrush)
  • темный (QBrush)
  • полутемный (QBrush)
  • текст (QBrush)
  • яркий текст (QBrush)
  • текст кнопки (QBrush)
  • основа (QBrush)
  • фон (QBrush)
  • тень (QBrush)
  • выделение (QBrush)
  • выделенный текст (QBrush)
  • ссылка (QBrush)
  • посещенная ссылка (QBrush)
QPen
  • Стиль пера (quint8)
  • Толщина пера (quint16)
  • Цвет пера (QColor)
QPicture
  • Размер данных изображения (quint32)
  • Необработанные байты данных изображения (char)
QPixmap
  • Сохраните его как изображение PNG.
QPoint
  • Координата x (qint32)
  • Координата y (qint32)
QQuaternion
  • Скалярная компонента (float)
  • Координата x (float)
  • Координата y (float)
  • Координата z (float)
QRect
  • left (qint32)
  • top (qint32)
  • right (qint32)
  • bottom (qint32)
QRegExp
  • Шаблон регулярного выражения (QString)
  • Чувствительность к регистру (quint8)
  • Синтаксис регулярного выражения (quint8)
  • Минимальное соответствие (quint8)
QRegularExpression
  • Шаблон регулярного выражения (QString)
  • Опции шаблона (quint32)
QRegion
  • Размер данных, т.е. 8 + 16 * (количество прямоугольников) (quint32)
  • 10 (qint32)
  • Количество прямоугольников (quint32)
  • Прямоугольники в последовательном порядке (QRect)
QSize
  • ширина (qint32)
  • высота (qint32)
QString
  • Если строка равна null: 0xFFFFFFFF (quint32)
  • В противном случае: длина строки в байтах (quint32), за которой следуют данные в UTF-16
QTime
  • Миллисекунды с полуночи (quint32)
QTransform
  • m11 (double)
  • m12 (double)
  • m13 (double)
  • m21 (double)
  • m22 (double)
  • m23 (double)
  • m31 (double)
  • m32 (double)
  • m33 (double)
QUrl
  • Содержит URL (QString)
QVariant
  • Тип данных (quint32)
  • Флаг null (qint8)
  • Данные указанного типа
QVector2D
  • координата x (float)
  • координата y (float)
QVector3D
  • координата x (float)
  • координата y (float)
  • координата z (float)
QVector4D
  • координата x (float)
  • координата y (float)
  • координата z (float)
  • координата w (float)
QVector<T>
  • Количество элементов (quint32)
  • Элементы (T)

См. также Поддержка JSON в Qt.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/datastreamformat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API