0
在QDataStream
Qt文檔它說如何在PySide和Python 3.X中將字節寫入QDataStream?
的QDataStream類提供的二進制數據的序列化到QIODevice中。
所以這就是我想要做的。我想在Python 3.X上的PySide中將字節發送到QDataStream
。
writeRawData
但是預計unicode
作爲輸入。
import zlib
from PySide import QtCore
file = QtCore.QFile("test.dat")
file.open(QtCore.QIODevice.WriteOnly)
data = "some text"
compressed_data = zlib.compress(data.encode()) # type is now bytes
out = QtCore.QDataStream(file)
out.writeRawData(compressed_data)
給出TypeError
:
TypeError: 'PySide.QtCore.QDataStream.writeRawData' called with wrong argument types:
PySide.QtCore.QDataStream.writeRawData(bytes)
Supported signatures:
PySide.QtCore.QDataStream.writeRawData(unicode, int)
此外從QDataStream
writeBytes
不受PySide(1.2.2)來實現。
那麼,如何通過PySide和Python 3.X中的QDataStream
發送二進制數據?
背景:最後我想通過QDataStream
二進制數據發送到QSocket
方便,我想用zlib
之前對其進行壓縮。