首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在插槽中使用QMap

问在插槽中使用QMap
EN

Stack Overflow用户
提问于 2013-01-24 07:16:15
回答 1查看 1.6K关注 0票数 0

我想使用我之前创建的用于插槽内部的QMap。我尝试过关注this,但仍然不起作用(我想我只是在做一些愚蠢的事情)。这是我正在使用的代码。

构造函数:

代码语言:javascript
复制
QMap <int, QList<int> > tiles;
connect(ui->lineEdit, SIGNAL(editingFinished()), this, SLOT(someSlot()));

现在,每当我发送信号editingFinished时,我希望someSlot检查该值是否在QMap中,如果是,则继续处理各种条件。问题是,如何将QMap传递给插槽?Qt似乎不允许带参数的插槽。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-24 07:46:17

槽只是Qt调用的一个函数。它的调用方式很神奇,但它只是一个函数。参数被传递到信号中(就像常规函数一样),Qt最终将该参数(或者更可能是该参数的副本)传递给接收方插槽。在Qt中,您不必像定义连接时传递信号那样向插槽传递那么多参数,但这不是本文讨论的内容。

您不能在这样的连接中按名称传递参数。

您可以让tiles对象成为实现someSlot()的类的成员变量,也可以将tiles传递给连接到someSlot的信号(const QMap >&)

我的建议是将tiles设置为成员变量,而不是堆栈变量

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14491191

复制
相关文章

相似问题

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