У меня основной c вопрос
Есть кнопка для включения виджета, как показано ниже:
connect(ui->pushButton_currOnOne, &QPushButton::clicked, ui->widget_currentOne, &CurrentButtonOne::setEnabled);
, и этот виджет подключается к слоту для настройки значения:
connect(ui->widget_currentOne, &CurrentButtonOne::getValue, this, &stageProgram::setCurrOnChannelOne);
и слот:
void stageProgram::setCurrOnChannelOne(unsigned int current_uA)
{
tetra_grip_api::stimulation_set_current( m_channelOne, current_uA); // second argument I get as signal from the widget
}
Но что мне теперь нужно, если виджет отключен , значение сигнала должно быть 0
(имеется в виду current_uA = 0
)
Я думал вызвать другой слот и установить current_uA = 0
. Похоже, это невозможно ..
Я пробовал использовать Lambda
connect(ui->widget_currentOne, &CurrentButtonOne::getValue,
[this](unsigned int current_uA) { setCurrOnChannelOne(ui->widget_currentOne->isEnabled() ? current_uA : 0); } );
//this does not send 0 when it is disabled
можете ли вы предложить способ отправки нулевого сигнала при отключенном виджете?