QDbusReply 无法使用 Qt4 调用 returns aa{sv} 的 DBus 函数?
QDbusReply doesn't work calling a DBus function which returns a aa{sv} with Qt4?
我有一个 dbus 接口,它按预期在 d-feet 中工作,但是当我想从我的 QT4 应用程序中调用它时,列表的大小为零:(
我想,aa{sv} 可以通过 QVariantList 在 Qt4 中使用,对吧?
QDBusReply< QVariantList > reply = dbusinterface.call("getUsers");
QVariantList value = reply.value();
qDebug() << "user size: " << value.size();
有人不能解释一下吗?谢谢!
好的。我终于找到了一种检索正确列表的方法。
没有保证它是 "the way" 但至少,它做了它应该做的事 :).
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();
我有一个 dbus 接口,它按预期在 d-feet 中工作,但是当我想从我的 QT4 应用程序中调用它时,列表的大小为零:(
我想,aa{sv} 可以通过 QVariantList 在 Qt4 中使用,对吧?
QDBusReply< QVariantList > reply = dbusinterface.call("getUsers");
QVariantList value = reply.value();
qDebug() << "user size: " << value.size();
有人不能解释一下吗?谢谢!
好的。我终于找到了一种检索正确列表的方法。 没有保证它是 "the way" 但至少,它做了它应该做的事 :).
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();