Я просмотрел множество постов, касающихся редактирования сигналов QSpinBoxFinished и valueChanged, но не смог решить мою проблему, ie,
- Я хочу, чтобы сигнал editFinished отправлялся, когда пользователь вводит любое значение и нажимает «Ввод». [DONE]
- Пользователь может изменить значение с помощью стрелок вверх / вниз либо с помощью keyPress или mousePress. Это может быть сделано с помощью сигнала valueChange, но не с помощью editFinished
Так что для достижения обоих я сталкиваюсь с проблемой. Предположим, я хочу ввести 10000, поэтому valueChanged испускается с 1, 10, 100, 1000 , 10000 Который я не хочу, скорее он должен выдавать, когда пользователь нажимает ввод после ввода 10000. Так что это делается, избегая valueChanged и подключаясь к & QAbstractSpinbox :: editFinished.
connect(ui->spinBox, &QSpinBox::editingFinished,
this, [&]()
{
ui->label->setText(QString::number(ui->spinBox->value()));
});
Но я хочу вверх / стрелки вниз, чтобы работать также. поэтому для этого снова требуется valueChanged.
Есть ли какие-либо средства для достижения этого напрямую, вместо добавления моего собственного класса spinbox и переопределения событий для нажатия / нажатия стрелки вверх / вниз.
Любой предложение приветствуется.