Мне нужно захватить все измененное значение только тогда, когда виджет теряет фокус.
Я знаю, что у меня есть сигналы valueChanged () и editFinished (). Проблема с сигналом valueChanged () заключается в том, что он будет срабатывать для каждой нажатой клавиши, а проблема с editFinished () — в том, что он срабатывает, даже если его значение не изменяется.
Вопрос в том, возможен ли сигнал для каждого потерянного фокуса. просто когда значение меняется?
Если нет, то возникает новый вопрос: есть ли способ получить старое значение виджета внутри слота, подключенного при editFinished (), для сравнения с текущим значением и принятия решения о том, произошло ли изменение значения?
Вы можете попробовать расширить QSpinBox и затем переопределить focusOutEvent ()
http://qt-project.org/doc/qt-5.0/qtwidgets/qwidget.html#focusOutEvent
Других решений пока нет …