QDbusReply调用返回带有Qt4的aa{sv}的DBus函数不起作用?

QDbusReply调用返回带有Qt4的aa{sv}的DBus函数不起作用?,qt4,qdbus,Qt4,Qdbus,我有一个dbus接口,它按预期在d-feet中工作,但当我想从我的QT4应用程序中调用它时,列表的大小为零: 我想,aa{sv}可以通过QVariantList从Qt4使用,对吗 QDBusReply< QVariantList > reply = dbusinterface.call("getUsers"); QVariantList value = reply.value(); qDebug() << "user size: " << value.size

我有一个dbus接口,它按预期在d-feet中工作,但当我想从我的QT4应用程序中调用它时,列表的大小为零:

我想,aa{sv}可以通过QVariantList从Qt4使用,对吗

QDBusReply< QVariantList > reply = dbusinterface.call("getUsers");
QVariantList value = reply.value();
qDebug() << "user size: " << value.size();

有人能解释一下吗?谢谢

好的。我终于找到了一种检索正确列表的方法。 没有人认为这是一种方式,但至少,它做了它应该做的事情:

QDBusMessage result = dbusinterface.call("getUsers");
QDBusArgument v = result.arguments()[0].value<QDBusArgument>();
QVariantMap m;
QVariantList l;

v.beginArray();
while(!v.atEnd()) {
    v >> m;
    l.append(m);
}

qDebug() << "users count: " << l.size();