我想使用我之前创建的用于插槽内部的QMap。我尝试过关注this,但仍然不起作用(我想我只是在做一些愚蠢的事情)。这是我正在使用的代码。
构造函数:
QMap <int, QList<int> > tiles;
connect(ui->lineEdit, SIGNAL(editingFinished()), this, SLOT(someSlot()));现在,每当我发送信号editingFinished时,我希望someSlot检查该值是否在QMap中,如果是,则继续处理各种条件。问题是,如何将QMap传递给插槽?Qt似乎不允许带参数的插槽。
发布于 2013-01-24 07:46:17
槽只是Qt调用的一个函数。它的调用方式很神奇,但它只是一个函数。参数被传递到信号中(就像常规函数一样),Qt最终将该参数(或者更可能是该参数的副本)传递给接收方插槽。在Qt中,您不必像定义连接时传递信号那样向插槽传递那么多参数,但这不是本文讨论的内容。
您不能在这样的连接中按名称传递参数。
您可以让tiles对象成为实现someSlot()的类的成员变量,也可以将tiles传递给连接到someSlot的信号(const QMap >&)
我的建议是将tiles设置为成员变量,而不是堆栈变量
https://stackoverflow.com/questions/14491191
复制相似问题