1

当使用 Qt D-Bus 绑定向 D-Bus 公开一些代码时,什么时候应该使用 Qt 适配器而不是 Qt 接口?我很难理解它们到底有什么不同,因为它们似乎提供了相同的功能。

4

2 回答 2

2

根据http://doc.trolltech.com/4.3/qdbusabstractinterface.html,“QDBusAbstractInterface 类是 QtDBus 绑定中所有 D-Bus 接口的基类”,而根据http://doc.trolltech.com/4.3 /qdbusabstractadaptor.html , “QDBusAbstractAdaptor 类是所有旨在使用 D-Bus 向外部世界提供接口的对象的起点”。因此,前者用于接口本身,后者用于提供接口,即“将一些代码暴露给 D-Bus”,您将编写一个继承适配器的类并“定义它的 D-Bus 接口”正在使用类定义中的 Q_CLASSINFO 宏来实现”(也是上述 URL 中第二个的引用)。

于 2009-05-27T23:54:03.263 回答
2

消费者要使用QDBusAbstractInterface,而生产者要使用QDBusAbstractAdaptor。也就是适配器(生产者)实现一些方法,暴露一些属性,发送一些信号,而消费者调用/接收这些东西。

于 2016-09-27T07:26:41.917 回答