【发布时间】:2017-03-23 14:25:48
【问题描述】:
我正在尝试使用不同的参数将信号重新连接到同一个插槽。如果我只是想在不使用参数或 lambda 函数的情况下将相同的信号重新连接到不同的插槽,这将起作用,但我需要这样做。
起初我尝试过这样的事情:
connect(remove_btn,&QPushButton::clicked,[this, id] {function1(varA);});
connect(remove_btn,&QPushButton::clicked,[this, id] {function1(varB);});
function1 接收 varA 并且从不接收 varB。
我找到了一种方法,方法是保留连接列表,当我想修改参数时,我会断开旧连接并建立新连接。
我想知道的是,是否有一种方法可以进行此修改,而无需跟踪所有连接并完成断开连接/连接过程。
【问题讨论】:
-
@AlexanderVX 忘记“id”变量。我忘了从我的例子中删除它,这无关紧要。关于您的示例,我不确定您要向我展示什么,但是两个连接都具有相同的参数,这不是我的问题。不过还是谢谢。
标签: c++ qt lambda qt-signals qt-connection