StupidBeauty
Read times:1810Posted at:Thu Dec 29 02:55:15 2011 - no title specified

Qt4.7文档翻译:将各种Qt 数据类型序列化,Serializing Qt Data Types

QDataStream允许妳将某些Qt 数据类型序列化。下面的表格列出的就是QDataStream可以序列化的数据类型以及它们是如何表示的。下面描述的格式是版本12的。

在读写整数时,最好是将它们转到成Qt 的整数类型,例如qint16 或quint32。这样能够确保妳永远准确地知道妳正在读写的整数的尺寸,而不用在乎这個程序是在什么样的底层平台和架构上运行。

bool

  • •.•.逻辑值

qint8

  • •.•.带符号字节

qint16

  • •.•.带符号16位整数

qint32

  • •.•.带符号32位整数

qint64

  • •.•.带符号64位整数

quint8

  • •.•.无符号字节

quint16

  • •.•.无符号16位整数

quint32

  • •.•.无符号32位整数

quint64

  • •.•.无符号64位整数

float

  • •.•.使用标准的IEEE 754 格式表示的32位浮点数

double

  • •.•.使用标准的IEEE 754 格式表示的64位浮点数

const char *

  • •.•.字符串长度(quint32)

  • •.•.字符串中的那些字节,不包括末尾的0

QBitArray

  • •.•.序列的大小(quint32)

  • •.•.序列的位,也就是说,(size + 7)/8個字节

QBrush

  • •.•.画刷样式(quint8)

  • •.•.画刷颜色(QColor)

  • •.•.如果样式(style)是 CustomPattern 的话,则是画刷的位图(QPixmap)

QByteArray

  • •.•.如果是空的:0xFFFFFFFF (quint32)

  • •.•.否则:序列的大小(quint32),接着是序列中的那些字节,也就是说size 個字节

QColor

  • •.•.颜色规范(qint8)

  • •.•.透明通道(Alpha)值(quint16)

  • •.•.红色分量值(quint16)

  • •.•.绿色分量值(quint16)

  • •.•.蓝色分量值(quint16)

  • •.•.填充量(Pad)值(quint16)

(注意,这里的“透明”“红”“绿”“蓝”“填充”不能分开单独看,它们实际上是一整個结构体,见本座另一篇文章 QColor中的pad

QCursor

  • •.•.形状编号(qint16)

  • •.•.如果形状(shape)是BitmapCursor:位图本身(QPixmap)、掩码(mask)位图 (QPixmap)和热点(QPoint)

QDate

  • •.•.公历(Julian)日期(quint32)

QDateTime

  • •.•.日期(QDate)

  • •.•.时间(QTime)

  • •.•.0表示本地时间(Qt::LocalTime),或是1 表示协调通用时间(Qt::UTC) (quint8)

QEasingCurve

  • •.•.类型(type)(quint8)

  • •.•.自定义函数的指针(func)(quint64)

  • •.•.是否有自定义配置信息(hasConfig) (bool)

  • •.•.如果hasConfig 为真,则接下来是这些字段:

  • •.•.list(注意,这里应该是文档中的笔误,list应当是一個doxygen宏,表示将下面三個东西输出成一個子列表,再缩进一级。在QDataStream的实际代码中没有输出一個叫“list”的东西)

  • •.•.持续时间(period) (double)

  • •.•.幅度(amplitude) (double)

  • •.•.越界程度(overshoot) (double)

QFont

  • •.•.字体族(QString)

  • •.•.点大小(qint16)

  • •.•.样式建议(quint8)

  • •.•.字符集(quint8)

  • •.•.字体重量(quint8)

  • •.•.字体位(quint8)

QHash<Key, T>

  • •.•.条目的個数(quint32)

  • •.•.针对全部的条目,依次是键(Key)和值(T)

QIcon

  • •.•.位图条目的個数(quint32)

  • •.•.针对全部的位图条目:

    • •.•.位图本身(QPixmap)

    • •.•.文件名(QString)

    • •.•.位图几何尺寸(QSize)

    • •.•.模式(mode)(quint32)

    • •.•.状态(state)(quint32)

QImage

  • •.•.如果图片是空的,则會保存一個“空图片”标记;否则这個图片将保存为PNG 或BMP 格式(取决于流的版本)。如果妳想控制格式,则将图片(使用QImageIO)以流式输出到一個QBuffer中,再将那個东西输出。

QKeySequence

  • •.•.实际是一個QList<int>,其中的每個整数都是一個按键

QLinkedList<T>

  • •.•.条目的個数(quint32)

  • •.•.那些条目(T)

QList<T>

  • •.•.条目的個数(quint32)

  • •.•.那些条目(T)

QMap<Key, T>

  • •.•.条目的個数(quint32)

  • •.•.针对全部的条目,输出键(Key)和值(T)

QMatrix(废弃)

  • •.•.m11 (double)

  • •.•.m12 (double)

  • •.•.m21 (double)

  • •.•.m22 (double)

  • •.•.dx (double)

  • •.•.dy (double)

QMatrix4x4

  • •.•.m11 (double)

  • •.•.m12 (double)

  • •.•.m13 (double)

  • •.•.m14 (double)

  • •.•.m21 (double)

  • •.•.m22 (double)

  • •.•.m23 (double)

  • •.•.m24 (double)

  • •.•.m31 (double)

  • •.•.m32 (double)

  • •.•.m33 (double)

  • •.•.m34 (double)

  • •.•.m41 (double)

  • •.•.m42 (double)

  • •.•.m43 (double)

  • •.•.m44 (double)

QPair<T1, T2>

  • •.•.第一個元素(T1)

  • •.•.第二個元素(T2)

QPalette

禁用的、活跃的和非活跃的颜色组,其中每個组由以下东西构成:

  • •.•.前景(foreground) (QBrush)

  • •.•.按钮(button) (QBrush)

  • •.•.相对于按钮更亮(light) (QBrush)

  • •.•.相对于按钮稍亮(midlight) (QBrush)

  • •.•.相对于按钮更暗(dark) (QBrush)

  • •.•.相对于按钮稍暗(mid) (QBrush)

  • •.•.文字(text )(QBrush)

  • •.•.亮文字(brightText )(QBrush)

  • •.•.按钮文字(buttonText )(QBrush)

  • •.•.基础颜色(base )(QBrush)

  • •.•.背景(background )(QBrush)

  • •.•.阴影(shadow )(QBrush)

  • •.•.高亮(highlight )(QBrush)

  • •.•.高亮文字(highlightedText )(QBrush)

  • •.•.链接(link )(QBrush)

  • •.•.已访问的链接(linkVisited )(QBrush)

QPen

  • •.•.画笔风格(quint8)

  • •.•.画笔宽度(quint16)

  • •.•.画笔颜色(QColor)

QPicture

  • •.•.图片数据的大小(quint32)

  • •.•.图片数据的原始字节组(char)

QPixmap

  • •.•.保存为PNG 图片。

QPoint

  • •.•.x坐标(qint32)

  • •.•.y坐标 (qint32)

QQuaternion

  • •.•.标量部分(double)

  • •.•. x坐标 (double)

  • •.•.y坐标 (double)

  • •.•. z坐标 (double)

QRect

  • •.•.左侧位置 (qint32)

  • •.•.顶部位置 (qint32)

  • •.•.右侧位置 (qint32)

  • •.•.底部位置 (qint32)

QRegExp

  • •.•.正则式模式(QString)

  • •.•.是否大小写敏感(quint8)

  • •.•.正则表达式语法(quint8)

  • •.•.是否是最小匹配(quint8)

QRegion

  • •.•.数据的大小,也就是说8 + 16 * (□的個数) (quint32)

  • •.•.10 (qint32)

  • •.•.□的個数(quint32)

  • •.•.按顺序输出的那些□(QRect)

QSize

  • •.•.宽度 (qint32)

  • •.•.高度 (qint32)

QString

  • •.•.如果字符串是空的: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坐标 (double)

  • •.•. y坐标 (double)

QVector3D

  • •.•. x 坐标 (double)

  • •.•. y 坐标 (double)

  • •.•. z 坐标 (double)

QVector4D

  • •.•. x 坐标 (double)

  • •.•. y 坐标 (double)

  • •.•. z 坐标 (double)

  • •.•. w 坐标 (double)

QVector<T>

  • •.•.条目的個数(quint32)

  • •.•.条目们(T)

Your opinions

Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands