Допустим, у меня есть виджет, содержащий Button
и Spinbox
.Когда нажата кнопка, я хочу передать значение Spinbox.
Я вижу два возможных способа сделать это:
Либо я могу создать функцию закрытого члена
//...
connect(m_Button, &QPushButton::clicked, this, &SomeWidget::emitSpinboxValue);
//...
SomeWidget::emitSpinboxValue() {
emit spinboxValueChanged(m_Spinbox->value());
}
Или я могу сделать это прямо в лямбде:
//...
connect(m_Button, &QPushButton::clicked, [this]() { emit spinboxValueChanged(m_Spinbox->value()) });
//...
Лямбда-путь выглядит более аккуратно (поскольку мне не нужно создавать довольно пустую функцию-член), но с другой стороны, видя, что emit
влямбда вызывает у меня неприятные ощущения в кишечнике.
Итак, излучает ли сигналы лямбда-сигнал нормально (и моя кишка сверхчувствительна), или это плохой стиль (или я даже настраиваю себя на неожиданные неприятности?)в будущем)