使用Qt5从QDBusConnection获取服务名称

时间:2016-04-29 09:21:15

标签: qt signals-slots dbus qdbus qtdbus

我们的框架最近从Qt4升级到Qt5。 但是这里我们在d-bus事件处理上遇到了一些问题。

原始代码QDBusConnection::sender().name()返回空字符串。官方建议替换方式QDBusContext::connection()返回类似“1.40”,“1.101”(应该是地址或其他东西,并且是正确的)。

我们还尝试使用msg.service(),其中msg是QDBusMessage,但仍然可以获得以前的地址。

我们需要将com.stackoverflow.HelpMe的名称发送到QDBusConnection::connect(),以确保我们可以区分不同的服务,即使d-bus服务重新启动可能会使地址发生变化。< / p>

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

嗯.......事实上,官方建议的替代方式QDBusContext::connection()可以起作用。 我们不知道为什么之前的尝试得到了不同的结果。