Qt meckert über falschen Datentyp

Alles rund um die Programmierung mit Qt
Antworten
flodo
Beiträge: 2
Registriert: 28. Februar 2022 21:05

Qt meckert über falschen Datentyp

Beitrag von flodo »

Ich bekomme folgenden Fehler:
Unexpected reply signature: got "a{sa{sv}}", expected "" (QMap<QString,QVariantMap>)
Merkwürdig ist v.a. das unterschiedliche Format zwischen got und expected.

Bei folgendem Snippet:

Code: Alles auswählen

QDBusInterface connIface(
                    NM_DBUS_SERVICE,
                    "/org/freedesktop/NetworkManager/Settings/1",
                    NM_DBUS_INTERFACE_SETTINGS_CONNECTION,
                    QDBusConnection::systemBus());

QDBusReply<QMap<QString, QMap<QString, QVariant>> > settingsResult = connIface.call("GetSettings");
Was ist hier denn falsch? Kann das an einer falschen Konfiguration liegen, z.B. unterschiedliche Versionen von Header und Library?

LG, Flo
flodo
Beiträge: 2
Registriert: 28. Februar 2022 21:05

Re: Qt meckert über falschen Datentyp

Beitrag von flodo »

You have to register the expected Response first!

In my case it was like

Code: Alles auswählen

    #include <QtDBus/QDBusMetaType>
    // ...
    typedef QMap<QString, QMap<QString, QVariant> > ConnectionDetails;
    Q_DECLARE_METATYPE(ConnectionDetails)
and

Code: Alles auswählen

    int main() {
        qDBusRegisterMetaType<ConnectionDetails>();
        // ...
    }
Antworten