【发布时间】:2020-06-04 23:58:09
【问题描述】:
我有 C++ 代码与另一个进程通信,该进程返回一个字符串->变体映射列表,换句话说就是一个QList<QVariantMap>。在 QT5 中,我可以解组 QDbusArgument reply 如下:
QList<QVariantMap> replyMap = qdbus_cast<QList<QVariantMap>>(reply.arguments().first());
这不适用于 QT4.8。我怀疑我需要正确调用qDbusRegisterMetaType,但尽我所能,我无法弄清楚神奇的组合。编译器响应:
..../include/QtCore/qmetatype.h:169:79: error: ‘qt_metatype_id’ is not a member of ‘QMetaTypeId<QList<QMap<QString, QVariant> > >’
很遗憾,我们的代码库目前停留在 QT4.8 上,因此无法升级到 QT5。
我如何在 qt4 中做同样的事情?
【问题讨论】: