我正在尝试使用Qt5.7.0设置DBus接口的属性。 这是doc:
http://git.kernel.org/cgit/network/ofono/ofono.git/tree/doc/modem-api.txt
我希望将Powered
属性设置为true
。
这是我的代码:
QDBusInterface *iface = new QDBusInterface("org.ofono", "/hfp/org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx", "org.ofono.Modem", QDBusConnection::systemBus());
iface->call("SetProperty", "Powered", QVariant(true));
这是错误:
QDBusError(“org.freedesktop.DBus.Error.UnknownMethod”,“方法”SetProperty“在界面”org.ofono.Modem上签名“sb”不存在“)
路径来自GetModem
方法,这是正确的。
另外,我尝试使用Python:
modem = dbus.Interface(bus.get_object('org.ofono', '/hfp/org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx'), 'org.ofono.Modem')
modem.SetProperty('Powered', dbus.Boolean(1))
它工作正常!所以问题肯定与我的Qt5代码有关。
如何更好地理解错误信息?我的签名是错的还是根本找不到SetProperty
方法?