我们的框架最近从Qt4更新到Qt5。但是这里我们在d-bus事件处理方面遇到了一些问题。
原始代码QDBusConnection::sender().name()
返回空字符串。官方建议QDBusContext::connection()
返回类似"1.40"、"1.101"的替代方式(应该是地址之类的,并且是正确的)。
我们还尝试使用msg.service()
,其中msg是QDBusMessage
,但仍然获得前一个地址。
我们需要获得其名称,如com.stackoverflow.HelpMe
,并将其发送到QDBusConnection::connect()
中,以确保即使d总线服务重新启动,也能区分不同的服务,这可能会导致地址更改。
谢谢你的建议。
嗯。。。。。。。事实上,官方提出了QDBusContext::connection()
的替代方式。我们不知道为什么之前的尝试得到了不同的结果。