QDBus问题:获取org.freedesktop.DBus.Error.UnknownMethod,但方法存在

时间:2010-08-11 08:23:55

标签: linux ubuntu methods dbus

我正在使用QDBus在Ubuntu上编写C ++,我有以下代码片段:

this->m_cRemoteInterface = new QDBusInterface("org.my.service", "/data", "org.freedesktop.DBus.Properties.Get"); 

QDBusReply<uint64_t> cResult = m_cRemoteInterface->call("property1");

代码抛出以下错误:

  

org.freedesktop.DBus.Error.UnknownMethod:   方法“property1”with   接口上的签名“”   “org.freedesktop.DBus.Properties.Get”   不存在

但是当我在shell中发出以下命令时,它会返回正确的值:

  

dbus org.my.service / data org.freedesktop.DBus.Properties.Get“   “property1

我能做错什么?

提前致谢,emi

1 个答案:

答案 0 :(得分:0)

经过一个下午的追踪和错误之后:

我宣布了

  

org.freedesktop.DBus.Properties.Get

作为界面,这是不对的。

我只能使用

  

org.freedesktop.DBus.Properties

作为界面然后

  

call(“Get”,“”,“property1”);

愿这有助于某人。 :)。