在 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 (将#修改为@)