微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 PyQt >> Qt-C++ 之间使用 QDataStream 序列化/反序列化 QVariantMap

如何解决在 PyQt >> Qt-C++ 之间使用 QDataStream 序列化/反序列化 QVariantMap

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

蟒蛇:

    data = {'mq_username': ('123'),'np_database': ('png'),'category': ('png'),'enroll_name': ('png'),'notes': ('png'),'file': ('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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。