我必须在 Qt 中实现一个 DBus 服务,该服务必须返回一个遵循给定规范的相当复杂的数据。数据本质上是一系列经过测试的映射、数组、结构和其他变体。
我找不到一种方便的方法将所有这些都打包到我的方法的回复中。看来我应该可以为此使用该QDBusArgument
课程。例如,要创建一个字符串数组,我应该可以这样做:
QDBusArgument arg;
arg.beginArray( qMetaTypeId<QString>());
arg << "Hello" << "World";
arg.endArray();
QVariant var = arg.asVariant();
但这不起作用。看来我需要煞费苦心地QList
手动构造 s 的变体。肯定有更好的方法吗?