それのQtのドキュメントで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)
さらにwriteBytes
fromQDataStream
は PySide (1.2.2) では実装されていません。
QDataStream
では、 PySide と Python 3.X でバイナリ データを送信するにはどうすればよいでしょうか。
背景: 最終的に、バイナリ データを をQSocket
介して便利に送信し、QDataStream
を使用する前に圧縮したいと考えていzlib
ます。