我的问题是:当插槽是 lambda 函数时,如何检查 Qt 中是否存在连接?
我有以下代码片段
connect(item1, &Item::somethingChanged, this, [this](){ doSomething(m_someObject1, 2); }, Qt::DirectConnection);
connect(item2, &Item::somethingChanged, this, [this](){ doSomething(m_someObject2, 5); }, Qt::DirectConnection);
我想检查我的 GoogleTest 中是否存在此连接:
ASSERT_FALSE(QObject::connect(item1, &Item::somethingChanged, this, [this](){ doSomething(m_someObject1, 2); }, Qt::UniqueConnection));
但是,这不起作用,因为 lambda 插槽被认为是与我在班级本身中连接的不同的 lambda。我将如何检查此连接是否存在?