下面的片段有什么问题?我一直在犯错误
Unexpected reply signature: got "a{sa{sv}}", expected "" (QMap<QString,QVariantMap>)
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");我真的不明白,对我来说似乎很好。这是否可能与编译器/标头版本有某种关系?
发布于 2022-03-01 12:53:35
您必须首先注册预期的响应!
对我来说就像
#include <QtDBus/QDBusMetaType>
// ...
typedef QMap<QString, QMap<QString, QVariant> > ConnectionDetails;
Q_DECLARE_METATYPE(ConnectionDetails)和
int main() {
qDBusRegisterMetaType<ConnectionDetails>();
// ...
}https://stackoverflow.com/questions/71299488
复制相似问题