0

我可以通过 PyQt5 中的 QDataStream 成功序列化/反序列化 QVariantMap

Python :

    data = {'mq_username': ('123'),  'np_database': ('png') ,  'category': ('png') ,  'enroll_name': ('png') ,  'notes': ('png') ,   'file': ('png') ,
            'np_database': ('png') , 'PNG-image': (png) }
    v = QVariant(data)
block = QByteArray()
    xout = QDataStream(block, QIODevice.WriteOnly)
    xout.setVersion(qt.QDataStream.Qt_5_10)
    xout << v
    xox = (b'')
    xox = block.data()

这完全可以反序列化:

out = qt.QDataStream(block, qt.QIODevice.ReadOnly)
        out.setVersion(qt.QDataStream.Qt_5_10)

        keys = out.readQVariant()

我可以在钥匙上拿到所有物品。

但我无法从 C++ 中得到它。

如何从 c++ 获取此 QDataStream (QVariantMap) ?

    QVariantMap *vmat_x;

    QDataStream stream(message);
    stream.setVersion(QDataStream::Qt_5_10);
    stream >> vmat_x ;

vmat_x 始终为空

任何想法 ?

编辑:

消息是来自 Python xox 的 QBytearray

4

0 回答 0