QDBusAbstractAdaptor 类

QDBusAbstractAdaptor 类是 D-Bus 适配器类的基础类。 更多...

头文件 #include <QDBusAbstractAdaptor>
CMakefind_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmakeQT += dbus
继承 QObject

公开函数

受保护的函数

QDBusAbstractAdaptor(QObject *obj)
boolautoRelaySignals() const
voidsetAutoRelaySignals(bool enable)

详细说明

QDBusAbstractAdaptor 类是所有希望使用 D-Bus 向外部世界提供接口的对象的起点。这是通过将一个或多个从 QDBusAbstractAdaptor 派生的类附加到正常 QObject,然后通过 QDBusConnection::registerObject 注册那个 QObject 来实现的。QDBusAbstractAdaptor 对象是为了轻量级包装而设计的,主要是将调用转发到实际对象(其父对象)和从它那里传达的信号。

每个从 QDBusAbstractAdaptor 派生的类都应该使用类定义中的 Q_CLASSINFO 宏来定义正在实现的 D-Bus 接口。请注意,只能以这种方式公开一个接口。

QDBusAbstractAdaptor 使用标准的 QObject 机制(信号、槽和属性)来确定要导出到总线上的信号、方法和属性。由 QDBusAbstractAdaptor 派生的类发出的任何信号都将自动通过对象注册的任何 D-Bus 连接进行转发。

从 QDBusAbstractAdaptor 派生的类必须使用 new 运算符在堆上创建,用户不能删除它们(当连接到它们的对象也被删除时,它们将自动删除)。

另请参阅 使用适配器QDBusConnection

成员函数说明

[显式受保护] QDBusAbstractAdaptor::QDBusAbstractAdaptor(QObject *obj)

使用 obj 作为父对象构造 QDBusAbstractAdaptor。

[virtual noexcept] QDBusAbstractAdaptor::~QDBusAbstractAdaptor()

销毁适配器。

警告:适配器在其所引用的实际对象销毁时将自动被销毁。请勿自行删除适配器。

[受保护的] bool QDBusAbstractAdaptor::autoRelaySignals() const

如果从实际对象(见 object())启动自动信号重发(请看对象()),则返回 true,否则返回 false

另请参阅 setAutoRelaySignals

[受保护的] void QDBusAbstractAdaptor::setAutoRelaySignals(bool enable)

切换从实际对象(请看 object())自动信号重发的功能。

自动信号重发包括在类之间的两个类的确切相同方法签名上进行的信号到信号的连接。

如果 enable 设置为 true,则连接信号;如果设置为 false,则断开所有信号。

另请参阅 autoRelaySignals

宏文档

Q_NOREPLY

Q_NOREPLY 宏可用来标记一个需调用且不需要等待它在从 QDBusInterface::call() 返回之前处理完毕的方法。被调用的方法不能返回任何输出参数,如果它这么做,此类参数将被丢弃。

您可以在自带的适配器中使用此宏,通过在类声明中的方法返回值(必须是 "void")之前放置它来实现(如示例所示),

Q_NOREPLY void myMethod();

在方法实现(不在类声明中)中的存在是可选的。

另请参阅 使用 Qt D-Bus 适配器

© 2024 Qt 公司有限公司。此处包含的文档贡献归其各自所有者所有。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相关标志是芬兰及/或其他国家和地区的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。