Потребовалось мне написать на питоне SpinBox для ввода года, но нужна возмозность не указывать ничего, т.е. если человек сотрет весь текст, то поле редактирования в spinbox-е должно оставаться пустым. Вроде все работает, но хочется проконсультироваться, правильно я сделал, или есть более прямые пути?
class YearSpinBox(QtGui.QSpinBox):
def __init__(self, parent=None):
QtGui.QSpinBox.__init__(self, parent)
def textFromValue(self, value):
if (value == self.minimum()):
return QtCore.QString("")
else:
return QtGui.QSpinBox.textFromValue(self, value)
def validate(self, text, pos):
if (text == ''):
self.setValue(self.minimum())
return (QtGui.QValidator.Acceptable, pos)
return QtGui.QSpinBox.validate(self, text, pos)