crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Минимум в QIntValidator
borune
  опции профиля:
сообщение 20.1.2015, 17:36
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Судари, приветствую всех.

Сабж таков, не могу настроить минимальное значение 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. Остальные цифры вводить можно, но нельзя их потом удалить. Еще хуже, чем в первом варианте.

Подскажите, как все-таки заставить валидатор видеть минимум?

Сообщение отредактировал borune - 20.1.2015, 17:37
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.4.2024, 19:57