Я создаю несколько кнопок Qlineedits / QPush в al oop. Если текст изменяется или нажимается кнопка, мне нужно знать переменную, которую я также создаю в этом l oop. Я новичок в c ++ qt (в прошлом немного работал с pyqt) и не могу понять, как это сделать.
Я думал, что лучшим способом было бы создать переменную publi c (int workingID
) и использовать лямбда-функцию с сигналом. Тем не менее, я получаю ошибку «нет соответствующей функции-члена» с лямбда-выражением.
for (int j =0; j<myTestNames.length(); j++){
int currentID = j;
QLineEdit *testTitle = new QLineEdit(TestNames[j]);
connect(testTitle , SIGNAL(editingFinished()) , [=]() { this->workingID = currentID ;} );
}
Я могу получить ошибку до go, используя этот формат, но я не могу передать переменную this way.
connect(testTitle , SIGNAL(editingFinished()) , this, SLOT(testTitleChanged(currentID)) );
Я пробовал так много вариантов лямбда-функции, но не могу заставить ее работать.
Может кто-нибудь пролить свет на это?
Спасибо заранее.