QDataStream Class Reference

[QtCore module]

该QDataStream类提供的二进制数据序列化到一个QIODeviceMore…

Types

  • enum ByteOrder { BigEndian, LittleEndian }
  • enum FloatingPointPrecision { SinglePrecision, DoublePrecision }
  • enum Status { Ok, ReadPastEnd, ReadCorruptData, WriteFailed }
  • enum Version { Qt_1_0, Qt_2_0, Qt_2_1, Qt_3_0, ..., Qt_4_8 }

Methods

  • __init__ (self)
  • __init__ (self, QIODevice)
  • __init__ (self, QByteArray, QIODevice.OpenMode flags)
  • __init__ (self, QByteArray)
  • bool atEnd (self)
  • ByteOrder byteOrder (self)
  • QIODevice device (self)
  • FloatingPointPrecision floatingPointPrecision (self)
  • bool readBool (self)
  • str readBytes (self)
  • float readDouble (self)
  • float readFloat (self)
  • int readInt (self)
  • int readInt16 (self)
  • int readInt32 (self)
  • int readInt64 (self)
  • str readInt8 (self)
  • QString readQString (self)
  • QStringList readQStringList (self)
  • QVariant readQVariant (self)
  • dict-of-QString-QVariant readQVariantHash (self)
  • list-of-QVariant readQVariantList (self)
  • dict-of-QString-QVariant readQVariantMap (self)
  • str readRawData (self, int len)
  • str readString (self)
  • int readUInt16 (self)
  • int readUInt32 (self)
  • int readUInt64 (self)
  • str readUInt8 (self)
  • resetStatus (self)
  • setByteOrder (self, ByteOrder)
  • setDevice (self, QIODevice)
  • setFloatingPointPrecision (self, FloatingPointPrecision precision)
  • setStatus (self, Status status)
  • setVersion (self, int v)
  • int skipRawData (self, int len)
  • Status status (self)
  • unsetDevice (self)
  • int version (self)
  • writeBool (self, bool i)
  • QDataStream writeBytes (self, str)
  • writeDouble (self, float f)
  • writeFloat (self, float f)
  • writeInt (self, int i)
  • writeInt16 (self, int i)
  • writeInt32 (self, int i)
  • writeInt64 (self, int i)
  • writeInt8 (self, str i)
  • writeQString (self, QString qstr)
  • writeQStringList (self, QStringList qstrlst)
  • writeQVariant (self, QVariant qvar)
  • writeQVariantHash (self, dict-of-QString-QVariant qvarhash)
  • writeQVariantList (self, list-of-QVariant qvarlst)
  • writeQVariantMap (self, dict-of-QString-QVariant qvarmap)
  • int writeRawData (self, str)
  • writeString (self, str str)
  • writeUInt16 (self, int i)
  • writeUInt32 (self, int i)
  • writeUInt64 (self, int i)
  • writeUInt8 (self, str i)

Special Methods

  • QDataStream __lshift__ (self, QColor)
  • QDataStream __lshift__ (self, QNetworkCacheMetaData)
  • QDataStream __lshift__ (self, QScriptContextInfo)
  • QDataStream __lshift__ (self, QWebHistory)
  • QDataStream __lshift__ (self, QBrush)
  • QDataStream __lshift__ (self, QHostAddress)
  • QDataStream __lshift__ (self, QCursor cursor)
  • QDataStream __lshift__ (self, QFont)
  • QDataStream __lshift__ (self, QIcon)
  • QDataStream __lshift__ (self, QImage)
  • QDataStream __lshift__ (self, QKeySequence ks)
  • QDataStream __lshift__ (self, QListWidgetItem item)
  • QDataStream __lshift__ (self, QMatrix)
  • QDataStream __lshift__ (self, QMatrix4x4)
  • QDataStream __lshift__ (self, QPainterPath)
  • QDataStream __lshift__ (self, QPalette p)
  • QDataStream __lshift__ (self, QPen)
  • QDataStream __lshift__ (self, QPicture p)
  • QDataStream __lshift__ (self, QPixmap)
  • QDataStream __lshift__ (self, QPolygonF array)
  • QDataStream __lshift__ (self, QPolygon polygon)
  • QDataStream __lshift__ (self, QQuaternion)
  • QDataStream __lshift__ (self, QRegion)
  • QDataStream __lshift__ (self, QSizePolicy)
  • QDataStream __lshift__ (self, QStandardItem item)
  • QDataStream __lshift__ (self, QTableWidgetItem item)
  • QDataStream __lshift__ (self, QTextLength)
  • QDataStream __lshift__ (self, QTextFormat)
  • QDataStream __lshift__ (self, QTransform)
  • QDataStream __lshift__ (self, QTreeWidgetItem item)
  • QDataStream __lshift__ (self, QVector2D)
  • QDataStream __lshift__ (self, QVector3D)
  • QDataStream __lshift__ (self, QVector4D)
  • QDataStream __rshift__ (self, QColor)
  • QDataStream __rshift__ (self, QNetworkCacheMetaData)
  • QDataStream __rshift__ (self, QScriptContextInfo)
  • QDataStream __rshift__ (self, QWebHistory)
  • QDataStream __rshift__ (self, QBrush)
  • QDataStream __rshift__ (self, QHostAddress)
  • QDataStream __rshift__ (self, QCursor cursor)
  • QDataStream __rshift__ (self, QFont)
  • QDataStream __rshift__ (self, QIcon)
  • QDataStream __rshift__ (self, QImage)
  • QDataStream __rshift__ (self, QKeySequence ks)
  • QDataStream __rshift__ (self, QListWidgetItem item)
  • QDataStream __rshift__ (self, QMatrix)
  • QDataStream __rshift__ (self, QMatrix4x4)
  • QDataStream __rshift__ (self, QPainterPath)
  • QDataStream __rshift__ (self, QPalette p)
  • QDataStream __rshift__ (self, QPen)
  • QDataStream __rshift__ (self, QPicture p)
  • QDataStream __rshift__ (self, QPixmap)
  • QDataStream __rshift__ (self, QPolygonF array)
  • QDataStream __rshift__ (self, QPolygon polygon)
  • QDataStream __rshift__ (self, QQuaternion)
  • QDataStream __rshift__ (self, QRegion)
  • QDataStream __rshift__ (self, QSizePolicy)
  • QDataStream __rshift__ (self, QStandardItem item)
  • QDataStream __rshift__ (self, QTableWidgetItem item)
  • QDataStream __rshift__ (self, QTextLength)
  • QDataStream __rshift__ (self, QTextFormat)
  • QDataStream __rshift__ (self, QTransform)
  • QDataStream __rshift__ (self, QTreeWidgetItem item)
  • QDataStream __rshift__ (self, QVector2D)
  • QDataStream __rshift__ (self, QVector3D)
  • QDataStream __rshift__ (self, QVector4D)
  • QDataStream __lshift__ (self, QBitArray)
  • QDataStream __lshift__ (self, QByteArray)
  • QDataStream __lshift__ (self, QChar)
  • QDataStream __lshift__ (self, QDate)
  • QDataStream __lshift__ (self, QTime)
  • QDataStream __lshift__ (self, QDateTime)
  • QDataStream __lshift__ (self, QEasingCurve)
  • QDataStream __lshift__ (self, QLine)
  • QDataStream __lshift__ (self, QLineF)
  • QDataStream __lshift__ (self, QLocale)
  • QDataStream __lshift__ (self, QPoint)
  • QDataStream __lshift__ (self, QPointF)
  • QDataStream __lshift__ (self, QRect)
  • QDataStream __lshift__ (self, QRectF)
  • QDataStream __lshift__ (self, QRegExp regExp)
  • QDataStream __lshift__ (self, QSize)
  • QDataStream __lshift__ (self, QSizeF)
  • QDataStream __lshift__ (self, QString)
  • QDataStream __lshift__ (self, QStringList list)
  • QDataStream __lshift__ (self, QUrl)
  • QDataStream __lshift__ (self, QUuid)
  • QDataStream __lshift__ (self, QVariant p)
  • QDataStream __lshift__ (self, Type p)
  • QDataStream __rshift__ (self, QBitArray)
  • QDataStream __rshift__ (self, QByteArray)
  • QDataStream __rshift__ (self, QChar)
  • QDataStream __rshift__ (self, QDate)
  • QDataStream __rshift__ (self, QTime)
  • QDataStream __rshift__ (self, QDateTime)
  • QDataStream __rshift__ (self, QEasingCurve)
  • QDataStream __rshift__ (self, QLine)
  • QDataStream __rshift__ (self, QLineF)
  • QDataStream __rshift__ (self, QLocale)
  • QDataStream __rshift__ (self, QPoint)
  • QDataStream __rshift__ (self, QPointF)
  • QDataStream __rshift__ (self, QRect)
  • QDataStream __rshift__ (self, QRectF)
  • QDataStream __rshift__ (self, QRegExp regExp)
  • QDataStream __rshift__ (self, QSize)
  • QDataStream __rshift__ (self, QSizeF)
  • QDataStream __rshift__ (self, QString)
  • QDataStream __rshift__ (self, QStringList list)
  • QDataStream __rshift__ (self, QUrl)
  • QDataStream __rshift__ (self, QUuid)
  • QDataStream __rshift__ (self, QVariant p)
  • QDataStream __rshift__ (self, Type p)

Detailed Description

该QDataStream类提供的二进制数据序列化到一个QIODevice

数据流是独立于主机的操作系统, CPU或字节顺序的100 %的编码信息的二进制流。例如,写的是Windows下的PC机的数据流可以通过在Sun SPARC上运行的Solaris读取。

您也可以使用一个数据流读/写raw unencoded binary data。如果你想要一个“解析”输入流,请参阅QTextStream

该QDataStream类实现了C + +的基本数据类型的序列化,如charshortintchar *,更复杂的数据序列化等由数据分解成原始单位来完成的。

一个数据流与密切合作QIODevice。一QIODevice表示输入/输出介质1可以读取数据和写入数据到。该QFile类是一个I / O设备的一个例子。

例如(写入二进制数据流) :

  1. [QFile]($docs-qfile.html) file("file.dat");
  2. file.open([QIODevice]($docs-qiodevice.html).WriteOnly);
  3. QDataStream out(&file); // we will serialize the data into the file
  4. out << [QString]($docs-qstring.html)("the answer is"); // serialize a string
  5. out << ([qint32]($docs-index.htm#qint32-typedef))42; // serialize an integer

示例(读取流的二进制数据) :

  1. [QFile]($docs-qfile.html) file("file.dat");
  2. file.open([QIODevice]($docs-qiodevice.html).ReadOnly);
  3. QDataStream in(&file); // read the data serialized from the file
  4. [QString]($docs-qstring.html) str;
  5. [qint32]($docs-index.htm#qint32-typedef) a;
  6. in >> str >> a; // extract "the answer is" and 42

写入流中的每一项是写在根据项目的不同类型预定义的二进制格式。支持Qt的类型包括QBrushQColorQDateTimeQFontQPixmapQStringQVariant和其他许多人。对于所有类型的Qt支持的数据流看的完整列表Serializing Qt Data Types

对于整数,最好是始终转换为Qt的整数类型的写作,和读回相同Qt的整数类型。这可以确保你得到你想要的大小的整数,并隔离了一些编译器和平台的差异。

举个例子,一个char *字符串被写入作为一个32位整数,等于包括’\ 0’字节,接着是字符串的所有字符,包括’\ 0’字节的字符串的长度。当读取一个char *串的4个字节被读出以创建32比特长度的值,那么这许多字符的char *读取字符串包括’ \ 0 ‘终止。

最初的I / O设备通常设置在构造函数中,但可以用改变setDevice( ) 。如果你已经达到了数据的末尾(或如果没有I / O设备设置)atEnd( )将返回True 。

Versioning

由于Qt的1.0 QDataStream的二进制格式的演变,并有可能继续发展,以反映Qt中所作的更改。当输入或输出复杂的类型,它是非常重要的,以确保流的同一版本(version() )是用于读取和写入。如果你需要向前和向后兼容性,您可以硬编码在应用程序的版本号:

  1. stream.setVersion(QDataStream.Qt_4_0);

如果你正在制作一个新的二进制数据格式,如用于您的应用程序创建的文档的文件格式,你可以使用操作QDataStream写在便携格式的数据。通常情况下,你会写包含magic字符串和版本号给自己空间,未来扩展一个简短的标题。例如:

  1. [QFile]($docs-qfile.html) file("file.xxx");
  2. file.open([QIODevice]($docs-qiodevice.html).WriteOnly);
  3. QDataStream out(&file);
  4. // Write a header with a "magic number" and a version
  5. out << ([quint32]($docs-index.htm#quint32-typedef))0xA0B0C0D0;
  6. out << ([qint32]($docs-index.htm#qint32-typedef))123;
  7. out.setVersion(QDataStream.Qt_4_0);
  8. // Write the data
  9. out << lots_of_interesting_data;

然后读取它与:

  1. [QFile]($docs-qfile.html) file("file.xxx");
  2. file.open([QIODevice]($docs-qiodevice.html).ReadOnly);
  3. QDataStream in(&file);
  4. // Read and check the header
  5. [quint32]($docs-index.htm#quint32-typedef) magic;
  6. in >> magic;
  7. if (magic != 0xA0B0C0D0)
  8. return XXX_BAD_FILE_FORMAT;
  9. // Read the version
  10. [qint32]($docs-index.htm#qint32-typedef) version;
  11. in >> version;
  12. if (version < 100)
  13. return XXX_BAD_FILE_TOO_OLD;
  14. if (version > 123)
  15. return XXX_BAD_FILE_TOO_NEW;
  16. if (version <= 110)
  17. in.setVersion(QDataStream.Qt_3_2);
  18. else
  19. in.setVersion(QDataStream.Qt_4_0);
  20. // Read the data
  21. in >> lots_of_interesting_data;
  22. if (version >= 120)
  23. in >> data_new_in_XXX_version_1_2;
  24. in >> other_interesting_data;

你可以选择其中的字节顺序序列化数据时使用。默认设置为大端(高位在前) 。它改变为小端打破了便携性(除非读者也改变为小端) 。我们建议保持此设置,除非你有特殊的要求。

Reading and writing raw binary data

你不妨读/写自己的原始二进制数据到/直接从数据流中。数据可以被从该流读取到一个预先分配的char * using readRawData( ) 。同样的数据可以使用被写入到该流writeRawData( ) 。请注意,任何数据编码/解码必须由你来完成。

一对相似的功能是readBytes()和writeBytes( ) 。这些从他们的不同raw对口如下:readBytes()读取被视为将要读取的数据的长度的quint32 ,则该数目的字节被读入预先分配的char *;writeBytes()写入包含该数据的长度的quint32 ,然后是数据。请注意,数据(除了长度quint32 )任何编码/解码必须由你来完成。

Reading and writing Qt collection classes

Qt的容器类也可以被序列化到操作QDataStream 。这些措施包括QListQLinkedListQVectorQSetQHashQMap。流运算符被声明为类的非成员。

Reading and writing other Qt classes.

除了重载流运算符记录在这里,任何的Qt类,你可能要序列化操作QDataStream将有声明为类的非成员适当的流运算符:

  1. QDataStream &operator<<(QDataStream &, const QXxx &);
  2. QDataStream &operator>>(QDataStream &, QXxx &);

例如,这里有流运营商宣布作为非成员QImage类:

  1. QDataStream & operator<< (QDataStream& stream, const [QImage]($docs-qimage.html)& image);
  2. QDataStream & operator>> (QDataStream& stream, [QImage]($docs-qimage.html)& image);

要看看你最喜欢的Qt类定义了类似的流运算符,请检查Related Non-Members类的文档页面的部分。


Type Documentation

  1. QDataStream.ByteOrder

用于读取/写入数据的字节顺序。

Constant Value Description
QDataStream.BigEndian QSysInfo.BigEndian 第一个最显着字节(默认)
QDataStream.LittleEndian QSysInfo.LittleEndian 首先至少显着字节
  1. QDataStream.FloatingPointPrecision

用于读/写数据的浮点数的精度。这只会产生效果,如果数据流的版本是Qt_4_6或更高。

Warning:浮点精度必须被设置为相同的值,写入对象并读取数据流中的对象上。

Constant Value Description
QDataStream.SinglePrecision 0 在数据流中的所有浮点数具有32位精度。
QDataStream.DoublePrecision 1 在数据流中的所有浮点数具有64位精度。

See also setFloatingPointPrecision()和floatingPointPrecision( ) 。

  1. QDataStream.Status

该枚举描述了数据流的当前状态。

Constant Value Description
QDataStream.Ok 0 该数据流是否正常运行。
QDataStream.ReadPastEnd 1 该数据流已经读取过的底层设备中的数据的结尾。
QDataStream.ReadCorruptData 2 数据流已经读取损坏的数据。
QDataStream.WriteFailed 3 数据流不能写入到基础设备。
  1. QDataStream.Version

此枚举提供了象征性的同义词,数据序列化格式的版本号。

Constant Value Description
QDataStream.Qt_1_0 1 版本1 ( Qt的1.x中)
QDataStream.Qt_2_0 2 第2版​​( Qt的2.0)
QDataStream.Qt_2_1 3 第3版( Qt的2.1 ,2.2, 2.3 )
QDataStream.Qt_3_0 4 第4版(QT 3.0 )
QDataStream.Qt_3_1 5 第5版(QT 3.1 , 3.2 )
QDataStream.Qt_3_3 6 第6版(QT 3.3 )
QDataStream.Qt_4_0 7 第7版(QT 4.0 , Qt的4.1 )
QDataStream.Qt_4_1 Qt_4_0 第7版(QT 4.0 , Qt的4.1 )
QDataStream.Qt_4_2 8 8版本( Qt 4.2中)
QDataStream.Qt_4_3 9 第9版(QT 4.3 )
QDataStream.Qt_4_4 10 第10版(QT 4.4 )
QDataStream.Qt_4_5 11 版本11 (QT 4.5 )
QDataStream.Qt_4_6 12 版本12 (QT 4.6 , 4.7的Qt , Qt的4.8 )
QDataStream.Qt_4_7 Qt_4_6 同Qt_4_6 。
QDataStream.Qt_4_8 Qt_4_7 Qt_4_9 = Qt_4_8 同Qt_4_6 。

See also setVersion()和version( ) 。


Method Documentation

  1. QDataStream.__init__ (self)

构造一个没有I / O设备的数据流。

See also setDevice( ) 。

  1. QDataStream.__init__ (self, QIODevice)

构造一个使用I / O设备的数据流d

Warning:如果你使用QSocket or QSocketDevice作为I / O设备d读取数据时,你必须确保有足够的数据可在套接字的操作来顺利进行;QDataStream没有任何手段来处理或从短读取恢复。

See also setDevice()和device( ) 。

  1. QDataStream.__init__ (self, QByteArray, QIODevice.OpenMode flags)
  1. QDataStream.__init__ (self, QByteArray)

构造一个操作的字节数组上的数据流,a。该mode描述了设备是如何被使用的。

或者,您也可以使用QDataStream(常量QByteArray&) ,如果你只是想从一个字节数组来读取。

QByteArray是不是一个QIODevice子类,一个内部QBuffer创建包的字节数组。

  1. bool QDataStream.atEnd (self)

返回True如果I / O设备已经到达末端位置(流或文件结束),或者如果没有I / O设备一套,否则返回False 。

See also QIODevice.atEnd( ) 。

  1. ByteOrder QDataStream.byteOrder (self)

返回当前字节顺序设置 - 无论是BigEndian or LittleEndian

See also setByteOrder( ) 。

  1. QIODevice QDataStream.device (self)

[

返回当前设置的I / O设备,或0,如果没有设备的当前设置。

]($docs-qiodevice.html)

See also setDevice( ) 。

  1. FloatingPointPrecision QDataStream.floatingPointPrecision (self)

[

返回数据流的浮点精度。

此功能被引入Qt的4.6 。

]($docs-qdatastream.html#FloatingPointPrecision-enum)

See also FloatingPointPrecisionsetFloatingPointPrecision( ) 。

  1. bool QDataStream.readBool (self)
  1. str QDataStream.readBytes (self)

读取缓冲区s从流,并返回一个引用到流。

缓冲区s使用分配new。与摧毁它delete[]运营商。

l参数被设置为缓冲区的长度。如果读取的字符串是空的,l被设置为0 ,并s设置为空指针。

序列化格式是quint32长度说明符,然后再l字节的数据。

See also readRawData()和writeBytes( ) 。

  1. float QDataStream.readDouble (self)
  1. float QDataStream.readFloat (self)
  1. int QDataStream.readInt (self)
  1. int QDataStream.readInt16 (self)
  1. int QDataStream.readInt32 (self)
  1. int QDataStream.readInt64 (self)
  1. str QDataStream.readInt8 (self)
  1. QString QDataStream.readQString (self)
  1. QStringList QDataStream.readQStringList (self)
  1. QVariant QDataStream.readQVariant (self)
  1. dict-of-QString-QVariant QDataStream.readQVariantHash (self)
  1. list-of-QVariant QDataStream.readQVariantList (self)
  1. dict-of-QString-QVariant QDataStream.readQVariantMap (self)
  1. str QDataStream.readRawData (self, int len)

阅读次数最多len从流成字节s并返回读取的字节数。如果发生错误,该函数返回-1 。

缓冲区s必须预先分配。该数据是not编码。

See also readBytes( )QIODevice.read()和writeRawData( ) 。

  1. str QDataStream.readString (self)
  1. int QDataStream.readUInt16 (self)
  1. int QDataStream.readUInt32 (self)
  1. int QDataStream.readUInt64 (self)
  1. str QDataStream.readUInt8 (self)
  1. QDataStream.resetStatus (self)

重置数据流的状态。

See also Statusstatus()和setStatus( ) 。

  1. QDataStream.setByteOrder (self, ByteOrder)

设置序列化字节顺序bo

bo参数可以是QDataStream.BigEndian or QDataStream.LittleEndian

默认设置为大端。我们建议您保留此设置,除非你有特殊的要求。

See also byteOrder( ) 。

  1. QDataStream.setDevice (self, QIODevice)

无效QDataStream.setDevice (QIODevice* D )

在I / O设备设置为d,它可以是0到未设置到当前的I / O设备。

See also device( ) 。

  1. QDataStream.setFloatingPointPrecision (self, FloatingPointPrecision precision)

设置数据流的浮点精度precision。如果浮点精度DoublePrecision和数据流的版本是Qt_4_6或更高,所有的浮点数字将被写入和读取与64位精度。如果浮点精度SinglePrecision和版本是Qt_4_6或更高,所有的浮点数字将被写入和读取与32位精度。

对于之前的版本Qt_4_6,的数据流中的浮点数的精度取决于流运算符调用。

默认值是DoublePrecision

Warning:此属性必须被设置为相同的值,该值写入对象并读取该数据流的对象。

此功能被引入Qt的4.6 。

See also floatingPointPrecision( ) 。

  1. QDataStream.setStatus (self, Status status)

设置数据流的状态到status给出。

后续调用setStatus ()被忽略,直到resetStatus()被调用。

See also Statusstatus()和resetStatus( ) 。

  1. QDataStream.setVersion (self, int v)

设置数据序列化格式的版本号v

你不have设置一个版本,如果你正在使用Qt的最新版本,但对于自己的自定义的二进制格式,我们建议你这样做,见Versioning在详细说明。

为了适应新的功能,一些Qt类的数据流的序列化格式在某些版本的Qt已经改变。如果你想读通过的Qt的早期版本创建的数据,或写可以由被与Qt的早期版本编译的程序可以读取数据,使用此功能来修改所使用的序列化格式QDataStream

Qt Version QDataStream Version
Qt 4.6 12
Qt 4.5 11
Qt 4.4 10
Qt 4.3 9
Qt 4.2 8
Qt 4.0, 4.1 7
Qt 3.3 6
Qt 3.1, 3.2 5
Qt 3.0 4
Qt 2.1, 2.2, 2.3 3
Qt 2.0 2
Qt 1.x 1

Version枚举提供了不同版本的Qt的符号常量。例如:

  1. [QDataStream]($docs-qdatastream.html) out(file);
  2. out.setVersion([QDataStream]($docs-qdatastream.html).Qt_4_0);

See also version()和Version

  1. int QDataStream.skipRawData (self, int len)

跳过len从设备字节。返回的错误字节数居然跳过,或-1 。

这等同于调用readRawData()的长度的缓冲区len而忽略了缓冲区。

这个函数是Qt 4.1中引入。

See also QIODevice.seek( ) 。

  1. Status QDataStream.status (self)

[

返回数据流的状态。

]($docs-qdatastream.html#Status-enum)

See also StatussetStatus()和resetStatus( ) 。

  1. QDataStream.unsetDevice (self)
  1. int QDataStream.version (self)

返回的数据序列化格式的版本号。

See also setVersion()和Version

  1. QDataStream.writeBool (self, bool i)
  1. QDataStream QDataStream.writeBytes (self, str)

[

写入长度说明len和缓冲s到流并返回一个引用到流。

len被序列化为一个quint32 ,其次是len从字节s。注意,该数据是not编码。

]($docs-qdatastream.html)

See also writeRawData()和readBytes( ) 。

  1. QDataStream.writeDouble (self, float f)
  1. QDataStream.writeFloat (self, float f)
  1. QDataStream.writeInt (self, int i)
  1. QDataStream.writeInt16 (self, int i)
  1. QDataStream.writeInt32 (self, int i)
  1. QDataStream.writeInt64 (self, int i)
  1. QDataStream.writeInt8 (self, str i)
  1. QDataStream.writeQString (self, QString qstr)
  1. QDataStream.writeQStringList (self, QStringList qstrlst)
  1. QDataStream.writeQVariant (self, QVariant qvar)
  1. QDataStream.writeQVariantHash (self, dict-of-QString-QVariant qvarhash)
  1. QDataStream.writeQVariantList (self, list-of-QVariant qvarlst)
  1. QDataStream.writeQVariantMap (self, dict-of-QString-QVariant qvarmap)
  1. int QDataStream.writeRawData (self, str)

Writes len从字节s到流。返回实际写入的字节数,或-1。该数据是not编码。

See also writeBytes( )QIODevice.write()和readRawData( ) 。

  1. QDataStream.writeString (self, str str)
  1. QDataStream.writeUInt16 (self, int i)
  1. QDataStream.writeUInt32 (self, int i)
  1. QDataStream.writeUInt64 (self, int i)
  1. QDataStream.writeUInt8 (self, str i)
  1. QDataStream __lshift__ (self, QColor)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QNetworkCacheMetaData)

[

如果QtNetwork模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QScriptContextInfo)

[

如果QtScript模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QWebHistory)

[

如果QtWebKit的模块被导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QBrush)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QHostAddress)

[

如果QtNetwork模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QCursor cursor)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QFont)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QIcon)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QImage)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QKeySequence ks)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QListWidgetItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QMatrix)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QMatrix4x4)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QPainterPath)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QPalette p)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QPen)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QPicture p)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QPixmap)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QPolygonF array)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QPolygon polygon)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QQuaternion)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QRegion)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QSizePolicy)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QStandardItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QTableWidgetItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QTextLength)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QTextFormat)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QTransform)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QTreeWidgetItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QVector2D)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QVector3D)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __lshift__ (self, QVector4D)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QColor)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QNetworkCacheMetaData)

[

如果QtNetwork模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QScriptContextInfo)

[

如果QtScript模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QWebHistory)

[

如果QtWebKit的模块被导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QBrush)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QHostAddress)

[

如果QtNetwork模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QCursor cursor)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QFont)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QIcon)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QImage)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QKeySequence ks)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QListWidgetItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QMatrix)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QMatrix4x4)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QPainterPath)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QPalette p)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QPen)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QPicture p)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QPixmap)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QPolygonF array)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QPolygon polygon)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QQuaternion)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QRegion)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QSizePolicy)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QStandardItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QTableWidgetItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QTextLength)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QTextFormat)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QTransform)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QTreeWidgetItem item)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QVector2D)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QVector3D)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream __rshift__ (self, QVector4D)

[

如果QtGui模块导入此方法仅适用。

]($docs-qdatastream.html)

  1. QDataStream QDataStream.__lshift__ (self, QBitArray)

  1. QDataStream QDataStream.__lshift__ (self, QByteArray)

  1. QDataStream QDataStream.__lshift__ (self, QChar)

  1. QDataStream QDataStream.__lshift__ (self, QDate)

  1. QDataStream QDataStream.__lshift__ (self, QTime)

  1. QDataStream QDataStream.__lshift__ (self, QDateTime)

  1. QDataStream QDataStream.__lshift__ (self, QEasingCurve)

  1. QDataStream QDataStream.__lshift__ (self, QLine)

  1. QDataStream QDataStream.__lshift__ (self, QLineF)

  1. QDataStream QDataStream.__lshift__ (self, QLocale)

  1. QDataStream QDataStream.__lshift__ (self, QPoint)

  1. QDataStream QDataStream.__lshift__ (self, QPointF)

  1. QDataStream QDataStream.__lshift__ (self, QRect)

  1. QDataStream QDataStream.__lshift__ (self, QRectF)

  1. QDataStream QDataStream.__lshift__ (self, QRegExp regExp)

  1. QDataStream QDataStream.__lshift__ (self, QSize)

  1. QDataStream QDataStream.__lshift__ (self, QSizeF)

  1. QDataStream QDataStream.__lshift__ (self, QString)

  1. QDataStream QDataStream.__lshift__ (self, QStringList list)

  1. QDataStream QDataStream.__lshift__ (self, QUrl)

  1. QDataStream QDataStream.__lshift__ (self, QUuid)

  1. QDataStream QDataStream.__lshift__ (self, QVariant p)

  1. QDataStream QDataStream.__lshift__ (self, Type p)

  1. QDataStream QDataStream.__rshift__ (self, QBitArray)

  1. QDataStream QDataStream.__rshift__ (self, QByteArray)

  1. QDataStream QDataStream.__rshift__ (self, QChar)

  1. QDataStream QDataStream.__rshift__ (self, QDate)

  1. QDataStream QDataStream.__rshift__ (self, QTime)

  1. QDataStream QDataStream.__rshift__ (self, QDateTime)

  1. QDataStream QDataStream.__rshift__ (self, QEasingCurve)

  1. QDataStream QDataStream.__rshift__ (self, QLine)

  1. QDataStream QDataStream.__rshift__ (self, QLineF)

  1. QDataStream QDataStream.__rshift__ (self, QLocale)

  1. QDataStream QDataStream.__rshift__ (self, QPoint)

  1. QDataStream QDataStream.__rshift__ (self, QPointF)

  1. QDataStream QDataStream.__rshift__ (self, QRect)

  1. QDataStream QDataStream.__rshift__ (self, QRectF)

  1. QDataStream QDataStream.__rshift__ (self, QRegExp regExp)

  1. QDataStream QDataStream.__rshift__ (self, QSize)

  1. QDataStream QDataStream.__rshift__ (self, QSizeF)

  1. QDataStream QDataStream.__rshift__ (self, QString)

  1. QDataStream QDataStream.__rshift__ (self, QStringList list)

  1. QDataStream QDataStream.__rshift__ (self, QUrl)

  1. QDataStream QDataStream.__rshift__ (self, QUuid)

  1. QDataStream QDataStream.__rshift__ (self, QVariant p)

  1. QDataStream QDataStream.__rshift__ (self, Type p)