我正在使用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
答案 0 :(得分:0)
经过一个下午的追踪和错误之后:
我宣布了
org.freedesktop.DBus.Properties.Get
作为界面,这是不对的。
我只能使用
org.freedesktop.DBus.Properties
作为界面然后
call(“Get”,“”,“property1”);
愿这有助于某人。 :)。