0

期待どおりにd-feetで動作するdbusインターフェースがありますが、QT4アプリケーション内から呼び出す場合、リストのサイズはゼロです:(

QVariantList 経由で Qt4 から aa{sv} を使用できるのではないでしょうか。

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

誰かがこれに光を当てることはできませんか?ありがとう!

4

1 に答える 1

0

Ok。最終的に、正しいリストを取得する方法を見つけました。それが「道」であるという保証はありませんが、少なくとも、それはすべきことをします:)。

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();
于 2015-03-02T07:50:09.007 に答える