使用 Qt5 从 QDBusConnection 获取服务名称
Posted
技术标签:
【中文标题】使用 Qt5 从 QDBusConnection 获取服务名称【英文标题】:Get service name from QDBusConnection with Qt5 【发布时间】:2016-08-24 09:14:37 【问题描述】:我们的框架最近从 Qt4 更新到 Qt5。 但是这里我们在 d-bus 事件处理上遇到了一些问题。
原代码QDBusConnection::sender().name()
返回空字符串。而官方建议的替代方式QDBusContext::connection()
返回类似“1.40”、“1.101”的东西(应该是地址什么的,是正确的)。
我们也尝试使用msg.service()
,其中 msg 是QDBusMessage
,但仍然得到以前的地址。
我们需要得到它的名字,比如com.***.HelpMe
,我们将它发送到QDBusConnection::connect()
,以确保即使重新启动d-bus服务可能会改变地址,我们也可以区分不同的服务。
感谢您的任何建议。
【问题讨论】:
【参考方案1】:嗯.......其实官方建议的替代方式QDBusContext::connection()
可以工作。
我们不知道为什么之前的尝试得到了不同的结果。
【讨论】:
以上是关于使用 Qt5 从 QDBusConnection 获取服务名称的主要内容,如果未能解决你的问题,请参考以下文章