У меня есть следующий код, который инициализирует метку в соответствии с идентификатором объекта.
for (int i = 0; i < inputVal; ++i)
{
QLabel *newLabel = new QLabel(p0[i]->id, page);
connect(p0, &Npc::setID, [&]
{ newLabel->text() = p0[i]->id; });
layout->addWidget(newLabel);
}
Я пытаюсь использовать вышеуказанный connect
для обновления значения метки каждый раз, когда я меняюзначение идентификатора объекта.Тем не менее, это не работает из-за того, что ярлык выходит из области видимости и его значение становится недоступным.Есть ли способ получить доступ к значению метки, не объявляя его вне этой области?
Это также зависит от слота, выполняемого после функции сигнала, что, я бы предположил, имеет место.Если это не так, есть ли другой способ обновить динамические метки при изменении значений объекта?