首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意外回复签名:获得"oa{sv}",“预期"(oa{sv})”

意外回复签名:获得"oa{sv}",“预期"(oa{sv})”
EN

Stack Overflow用户
提问于 2014-04-07 11:45:33
回答 1查看 1.4K关注 0票数 0

使用C++/QtDBus。我试图从DBus调用中得到一个回复,这个函数被描述为:

代码语言:javascript
复制
object, dict PullAll(string targetfile, dict filters).

我在我正在做的qDBusRegisterMetaType处理程序中注册了一个定义为:typedef QPair< QDBusObjectPath, QVariantMap > Transfer;的类型( QDBusPendingCallWatcher ):

代码语言:javascript
复制
QDBusPendingReply<Transfer> reply = *pwatcher;

我收到一个错误:

意外回复签名: got "oa{sv}",预期"(oa{sv})"

怎么了?"(oa{sv})“中的括号是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-06-03 10:22:43

我认为整个信息需要用一个结构来包装。至少,你有适当的签名,否则,并得到了回应。

代码语言:javascript
复制
arrays: []
dict entries: {}
structs: ()

我对QtDbus并不那么熟悉,但是看看QDbusArgument类的页面,您可能需要这样做:

代码语言:javascript
复制
argument.beginStructure();
argument << mystruct.objectpath << mystruct.array;
argument.endStructure();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22911494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档