он содержит кнопку «закрыть», которая всегда, кажется, возвращается в фокус, когда я ввожу в qspinbox. < /p>
QSpinBox.keyboardTracking = false< /code> Так что я могу обработать окончательное значение.
Теперь нажимая куда -нибудь еще или нажатие Enter в блоке спина фактически примет новое значение через событие ValueChanged < /code>.
Но с Enter, в то же время «нажмите» отправляется на кнопку «Закрыть».class MyDoubleSpinBox(QDoubleSpinBox):
def __init__(self, *args, **kwargs):
super(MyDoubleSpinBox, self).__init__(*args, **kwargs)
def keyPressEvent(self, event):
key = event.key()
#Catch keys
if key == Qt.Key_Return or key == Qt.Key_Enter:
# Process current item here
print(self.value())
#self.nextInFocusChain().setFocus()
#import pdb;pdb.set_trace()
#self.valueChanged(self.value())
pass
else:
super(MyDoubleSpinBox, self).keyPressEvent(event)
< /code>
Но это также отключит валентное событие. ?

Подробнее здесь: https://stackoverflow.com/questions/793 ... x-in-focus