gpt4 book ai didi

c++ - 在插槽中使用 QMap

转载 作者:行者123 更新时间:2023-11-28 07:47:54 24 4
gpt4 key购买 nike

我想使用我之前创建的 QMap 在插槽内使用。我试过关注 this但它仍然没有用(我想我只是在做一些愚蠢的事情)。这是我正在使用的代码。

构造函数:

QMap <int, QList<int> > tiles;
connect(ui->lineEdit, SIGNAL(editingFinished()), this, SLOT(someSlot()));

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

最佳答案

槽只是 Qt 调用的一个函数。它的调用方式很神奇,但它只是一个函数。参数被传递到信号中(就像常规函数一样),Qt 最终将该参数(或更可能是该参数的拷贝)传递到接收槽。在 Qt 中有一个逻辑,在定义连接时,您不必向插槽传递与传递信号一样多的参数,但这不是本次讨论的对象。

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

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

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

关于c++ - 在插槽中使用 QMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14491191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com