【问题标题】:Dbus Signals and Slots in QtQt 中的 Dbus 信号和插槽
【发布时间】:2017-08-01 14:06:29
【问题描述】:

我需要捕捉来自 QDbus 的信号,我是新手,不知道如何捕捉来自 QDbus 的信号。请举例说明,以便我理解。

【问题讨论】:

    标签: qt signals qdbus


    【解决方案1】:

    有几个选项:

    1. 使用QDBusConnection::connect()
    2. 为远程接口创建一个通用的QDBusInterface 对象,并将其用作普通QObject::connect()SIGNAL/SLOT 宏中的发送者
    3. 使用qdbusxml2cpp 代码生成器从服务的 XML 自省数据生成特定的接口对象

    D-Bus Chat example 同时使用 (1) 和 (3) 并在注释行中包含 (2) 以供参考。

    【讨论】:

    • 是的,但我有一个带有参数的信号,例如 newSignal(object path, Dict of{String, Dict of {String, Variant }} ) 。在这里我不知道如何用这些参数声明这个信号,你能指导我吗
    • 您可以尝试将QVariantMap 作为第二个参数或QMap<QString, QVariantMap>
    • 我在一个类中声明了槽,如下公共槽: int Devicefound(QDBusObjectPath path, QMap map){ qDebug() >>>> “, 小路; }
    • 我在一个类中声明了如下槽: int Devicefound(QDBusObjectPath path, QMap map){ qDebug()
    • 槽参数应该是SLOT(Devicefound(...)),就像在QObject::connect()中一样
    猜你喜欢
    • 2012-09-11
    • 1970-01-01
    • 2012-10-15
    • 2015-07-18
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多