Сабж таков, не могу настроить минимальное значение QIntValidator'а. Делаю так:
Раскрывающийся текст
lineEdit->setValidator(new QIntValidator(5,20,this));
В таком варианте валидатор разрешает вводить числа в диапазоне [0-20]. Не устраивает. Нужен диапазон [5;20]
Почитал тут. Попробовал перегрузить метод validate:
Раскрывающийся текст
class intValidator : public QIntValidator
{
public:
intValidator(int min,int max,QObject *obj):QIntValidator(min,max,obj){}
~intValidator(){}
QValidator::State validate(QString &input, int &pos) const
{
QIntValidator::State result(QIntValidator::validate(input, pos));
if (result == QValidator::Intermediate) result = QValidator::Invalid;
return result;
}
};
...
lineEdit->setValidator(new intValidator(5,20,this));
Этот вариант запрещает вводить цифры 1,2,3,4. Остальные цифры вводить можно, но нельзя их потом удалить. Еще хуже, чем в первом варианте.
Подскажите, как все-таки заставить валидатор видеть минимум?