我想像这样创建一个连接:
connect(myMap[myObjectName], &myObject::valueChanged, [&] (int value)
{
QString objectName = sender()->objectName();
myOtherMap[objectName].setValue(QVariant(value));
});
但这不起作用,因为如果函数不通过 MOC,就无法调用 sender()。因此,使这项工作(看似)的唯一方法是使用旧的基于信号/槽字符串的语法。
但是,像this Qt blog之类的东西看起来Qt5函数指针语法应该比以前的字符串语法更受欢迎,所以我很好奇:有什么方法可以MOC lamda函数,还是有一整类案例哪里不能使用新语法?