Задание диапазона значений через валидатор для Qt LineEdit
В Qt для lineEdit нужно задать диапазон значений целых чисел, который может быть введен пользователем. Использую QtIntValidator, но он работает странно, как будто ограничивает не значением, а количеством символов.
Например, нужен диапазон 0 - 5. Однако после сборки проекта в lineEdit можно ввести любое число с 0 до 9. Как сделать так, чтобы вводимые значения можно было все-таки ограничить диапазоном? Значения пробовал передавать и через конструктор, и через метод setRange, результат одинаковый. Решение выпадающий список не подходит, т.к. диапазон может быть очень большой.
Да, через регулярные выражения можно это решить, но почему валидатор так работает?
(конструктор MainWindow)
QIntValidator* testvalidator = new QIntValidator(0,5, this);
ui->lineEdit_bla->setValidator(testvalidator);