![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
borune |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Судари, приветствую всех.
Сабж таков, не могу настроить минимальное значение QIntValidator'а. Делаю так: Раскрывающийся текст
В таком варианте валидатор разрешает вводить числа в диапазоне [0-20]. Не устраивает. Нужен диапазон [5;20] Почитал тут. Попробовал перегрузить метод validate: Раскрывающийся текст
Этот вариант запрещает вводить цифры 1,2,3,4. Остальные цифры вводить можно, но нельзя их потом удалить. Еще хуже, чем в первом варианте. Подскажите, как все-таки заставить валидатор видеть минимум? Сообщение отредактировал borune - 20.1.2015, 17:37 |
|
|
![]() |
borune |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Тогда будет разрешено удаление чисел, но lineEdit будет пропускать пустые строки как валидные. ну не вариант, нельзя пустое оставлять)Перед сабмитом просто проверяйте что валидатор возвращает Valid. Ну это неинтересно=) в этом случае придется выдавать сообщение пользователю о том, что он что-то где-то неверно ввел, и просить откорректировать введенные данные, а если пользователь попадется не очень умный, то это сообщение может поставить его в тупик. Поэтому хотелось бы реализовать все так, чтоб у пользователя просто не было возможности ввести неверное значение.Разве это возможно? Как вы введете число например 14 не вводя 1 или 4? Ну, как вариант, не давать лайнэдиту терять фокус пока не введены корректные данные. Просто в документации явно сказано Раскрывающийся текст QIntValidator::QIntValidator ( int minimum, int maximum, QObject * parent = 0 ) Constructs a validator with a parent, that accepts integers from minimum to maximum inclusive. Сообщение отредактировал borune - 20.1.2015, 22:30 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.5.2025, 3:23 |