0

我正在使用 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:接口“org.freedesktop.DBus.Properties.Get”上带有签名“”的方法“property1”不存在

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

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

我能做错什么?

提前致谢,emi

4

1 回答 1

0

经过一个下午的跟踪和错误:

我宣布

org.freedesktop.DBus.Properties.Get

作为接口,这是不对的。

我只需要使用

org.freedesktop.DBus.Properties

作为接口,然后

调用(“获取”,“”,“property1”);

愿这对某人有所帮助。:)。

于 2010-08-11T12:06:47.070 回答