QDBus 问题:获取 org.freedesktop.DBus.Error.UnknownMethod,但方法存在
Posted
技术标签:
【中文标题】QDBus 问题:获取 org.freedesktop.DBus.Error.UnknownMethod,但方法存在【英文标题】:QDBus problem: getting org.freedesktop.DBus.Error.UnknownMethod, but method exists 【发布时间】:2011-03-28 06:16:11 【问题描述】:我在 Ubuntu 上使用 QDBus 编写 C++,我有以下代码 sn-p:
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” 界面上的签名“” “org.freedesktop.DBus.Properties.Get” 不存在
但是当我在 shell 中发出以下命令时,它会返回正确的值:
dbus org.my.service /data org.freedesktop.DBus.Properties.Get " " 属性1
我会做错什么?
提前致谢,emi
【问题讨论】:
【参考方案1】:经过一下午的反复试验:
我声明
org.freedesktop.DBus.Properties.Get
作为接口,这是不对的。
我只能使用
org.freedesktop.DBus.Properties
作为接口然后
call("Get", "", "property1");
希望这对某人有所帮助。 :)。
【讨论】:
以上是关于QDBus 问题:获取 org.freedesktop.DBus.Error.UnknownMethod,但方法存在的主要内容,如果未能解决你的问题,请参考以下文章